要素を逆順に格納する手続きについて
以下のように作成したのですが、端末が次のような状態で停止してしまいました。
/*
ex1402.c
*/
#include <stdio.h>
void reverseIntArray(int a[], int size)
{
int i,t;
for(i=0;i<size/2;i=i+1) {
/*a[i]とa[size-1-i]を交換*/
t=a[i];
a[i]=a[size-1-i];
a[size-1-i]=t;
}
}
void readIntArray(int a[], int size)
{
int i;
for(i=0;i<size;i=i+1) {
printf("%d番目?",i=i+1);
scanf("%d ",&a[i]);
}
}
void printIntArray(int a[], int size)
{
int i;
for(i=0;i<size;i=i+1) {
printf("%d ",a[i]);
}
printf("\n");
}
int main(void)
{
int data[100], size;
printf("n=? ");
scanf("%d", &size);
readIntArray(data, size);
printIntArray(data, size);
reverseIntArray(data, size);
printIntArray(data, size);
return 0;
}
端末:
$ cc ex1402.c
$ ./a.out
n=? 10
1番目?1
端末にエラーが出なかったので、どこが間違っているのかもわかりませんでした。
どうすればいいでしょうか?
ちなみに、実行例はこのようになれば良いみたいです。
$ ./a.out
n=? 10
0番目? 1
1番目? 2
2番め? 3
3番目? 4
4番目? 5
5番目? 6
6番目? 7
7番目? 8
8番目? 9
9番目? 10
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1