ある本にscanf()の書き方が書いてあってそれを入力してもエラーが表示されてわかりませ。
使用ソフトはMicrosoft Visual c++です。どこが間違っているのか教えてください。
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int score[10];
int status;
int temp_score;
int score_count;
int i;
/*配列に位に入力*/
score_count = 0;
while(1){
status=scanf("d",&score_count);
if (status == EOF ){
break;
}else if (status != 1){
fprintf(stderr ,"入力エラー\n");
exit(1);
}
if (score_count >= 10 ){
fprintf( stderr,"データ件数が多すぎます\n");
exit(1);
}
score[score_count] =temp_score;
score_count++;
}
}
/*配置の内容を表示する*/
for(i=0 ;i < score_count;i++){
printf("score[%d]..%d\n",i,score[i]);
}
return (0);
}
No.4ベストアンサー
- 回答日時:
先ほどの補足です、status=scanf("d",&score_count); のcore_countでなくてtemp_scoreでは有りませんか?
それと、score_count++; の次に「}」が2つ有りますが1つ要りません。
1つ多いです。
以上です。
No.3
- 回答日時:
timberさんが回答されている方の通り、int score_count; に標準入力からの場合は
"%d"です、それとこのそースプログラムですと、標準入力から整数型変数
score_countに入れて配列の添字に使っており、その後インクリメントされて
いるのはおかしいです、それと一次元配列score[score_count]
に代入しているのがint temp_score;になっていてこの変数にはこのソース内で
代入などされていないし、初期値も無いので代入される値は不定値が一次元配列に
入ります、処理内容がいまいち納得できませんが!
status=scanf("d",&score_count);
↑
%が抜けてます。これでエラーはなくなります。
No.1
- 回答日時:
whileの後
status=scanf("d",&score_count);
じゃなく
status=scanf("%d",&score_count);
だと思いますが。
会社に行かないとVCないんで火曜日にならないと検証はできないんですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- 英語 score(スコア)は20、という意味もある three score years and ten.( 3 2022/12/17 23:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの書き換え箇所がわかり...
-
なぜかわかりませんscanf()の戻...
-
$template->output();の時に ...
-
配列へのポインタの代入
-
ポインター引数の関数でコンパ...
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
エクセルシート名の制限を変更...
-
COBOLのCOMP形式について
-
【Excel VBA】10進数を2進数に...
-
バイナリとBCDコード
-
char str[256]の256の意味は?
-
ビットスワップとバイトスワッ...
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
Excel VBA メール作成について ...
-
htmlソース編集で、各タグを何...
-
DataGridViewの特定列に入力さ...
-
:(コロン)のKeyCode
-
Visual Basicでパック10進(2進...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pythonにCでのexternはありますか
-
python 3.10で 同じlistに同じ...
-
CSVから構造体へ代入
-
VBScriptでカレントディレクト...
-
マクロの書き換え箇所がわかり...
-
Perlで変数中のエスケープされ...
-
c言語 グローバル変数
-
なぜかわかりませんscanf()の戻...
-
UWSCにおける変数の扱い方
-
VB2010での連立方程式の計算
-
ポインター引数の関数でコンパ...
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
Excel VBA メール作成について ...
-
char str[256]の256の意味は?
-
エクセルシート名の制限を変更...
-
stable diffusionのエラー
-
COBOLのCOMP形式について
-
Excel 1セル当りの文字数が2...
-
DataGridViewの特定列に入力さ...
おすすめ情報