dポイントプレゼントキャンペーン実施中!

C言語についてです
学籍番号、名前、それぞれの教科の点数を
入力すると合計点、平均点を出すプログラムを
組みたいのですが
このようになってしまいました
何故でしょうか?

「C言語についてです学籍番号、名前、それぞ」の質問画像

質問者からの補足コメント

  • 画像の下です

      補足日時:2016/10/26 17:54

A 回答 (4件)

scanf の説明書を読みましょう


http://linuxjm.osdn.jp/html/LDP_man-pages/man3/s …

--
%c
「最大フィールド幅」 (デフォルトは 1) で指定された幅の文字の列に対応する。
次のポインターは char へのポインターで、
すべての文字を格納するのに十分な領域が なければならない (終端のヌルバイトは追加されない)。

%s
ホワイトスペースではない文字で構成された文字列に対応する。
次のポインターは文字の配列へのポインターでなければならず、
その文字配列は、入力された文字列と (自動的に追加される) 終端のヌルバイト ('\0') を格納するのに十分な大きさでなければならない。
--

両者似たようなことを言っていますが、
可変幅の「文字列」を対象にしたいならば %s が適していると思います。
「十分な大きさ」である格納先の変数を用意しましょう。
    • good
    • 0

「なぜか」と問われれば


あなたのプログラムが間違っているからだ
と答えてあげよう.
    • good
    • 4

とりあえず、char型変数にご希望の学籍番号"u334213"は入りません。



今更ですが基本の『C言語での文字列の扱い』について勉強しなおしましょう。

# 相変わらず画像なのは出題者からの検索避けですかね?
    • good
    • 0

このようになってしまいましたってどのようになったの?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!