以下のようなプログラムを組みました
c
1 #include<stdio.h> 2 3int main(void){ 4 5 system("clear"); 6 7 int str1[3][3],str2[3][3]; 8 9 int i,j; 10 char c; 11 12 for(i=0;i<3;i++){ 13 for(j=0;j<3;j++){ 14 scanf("%d",&str1[i][j]); 15 } 16 } 17 18 printf("符号入力"); 19 scanf("%c",&c); 20 21 for(i=0;i<3;i++){ 22 for(j=0;j<3;j++){ 23 scanf("%d",&str2[i][j]); 24 } 25 } 26 27 printf("%c",c); 28 return 0; 29 30} 31
やりたいことは、二次元配列str1に値を入力したあと、cに文字(符号)を入力させて
2次元配列str2に値を入力させてから、cの文字を表示するといった感じです
ですが、これを実行すると、str1への入力が終わったあと、cへの入力をとばして
(str1を入力し終えたあとの入力処理が9つであることからそうだと考えました)しまいます
当然最後のprintf()関数でもcの値は表示されません
なにが問題なのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/26 13:42
2016/01/28 01:40