###前提・実現したいこと
お世話になります、C言語初心者です。
10個の整数を配列に1つづつ入力し、その整数の和を出力したいのですが、全ての出力処理が1周遅れている?ようです。
コードを実行し、1つ目の値を入力してもprintfは出力されず、2つ目の値を入力した段階で「1つ目の値が入力されたのは(値)です」と出力されます。最後の合計値出力も、10個目の値を入力しても出力されず、11個目の値(この入力処理もいらない)を適当に入れてやっと出力されます。
入力した値をその直後に確認できるようにし、10個目の値を入力した時点で合計値を出力して処理を終了させるにはどう修正すれば良いのでしょうか?
以下のコードで1つ目の値を入力した直後にprintfが発動しない理由も合わせてご教授いただければ幸いです。
よろしくお願いいたします。
###該当のソースコード
C
1#include <stdio.h> 2int main() 3{ 4 int i; 5 int sum = 0; 6 int data[10] = {0}; 7 for(i = 0; i < 10; i++){ 8 scanf("%d\n", &data[i]); 9 printf("入力されたのは%dです\n", data[i]); 10 sum = sum + data[i]; 11 /*printf("デバッグ:data[0]の値は%dです\n", data[0]); 12 printf("デバッグ:data[1]の値は%dです\n", data[1]); 13 printf("デバッグ:data[2]の値は%dです\n", data[2]); 14 printf("デバッグ:data[3]の値は%dです\n", data[3]); 15 printf("デバッグ:data[4]の値は%dです\n", data[4]); 16 printf("デバッグ:data[5]の値は%dです\n", data[5]); 17 printf("デバッグ:data[6]の値は%dです\n", data[6]); 18 printf("デバッグ:data[7]の値は%dです\n", data[7]); 19 printf("デバッグ:data[8]の値は%dです\n", data[8]); 20 printf("デバッグ:data[9]の値は%dです\n", data[9]);*/ 21 } 22 printf("合計は%dです\n", sum); 23 return 0; 24} 25
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/07 00:48