質問: 以下のように作成したのですが、端末が次のような状態で停止してしまいました。 ``` /* ex1402.c */ #include void reverseIntArray(int a[], int size) { int i,t; for(i=0;i
回答: ``` scanf("%d ",&a[i]); ``` 原因は`scanf()`の形式文字列で、`"%d "`を`"%d"`にすれば先に進めるようになると思います。 `"%d "`を指定したとき、数値のあとに空白を入れれば先に進めそうに思えますが、`scanf()`の数多くある罠の一つで、形式文字列中の空白に対しては空白の後に空白以外の文字が入力されるまで入力が終わりません。ですので、「`1 a`」などと入力すれば先に進めるのですが、そうすると最後の「`a`」は消費されないので次の`scanf()`で困ることになります。