質問: 10個の数字を入力させ、その入力した数字と、昇順結果が出力させるプログラムを作成したのですが、以前のように二回同じことを聞かれることはなくなったけれど、昇順の結果がおかしくなってしまいます。 私は以下のようにプログラムしました。 ``` #include #define NUMBER 10 void swap(int *px,int *py) { int temp=*px; *px=*py; *py=temp; } void readIntArray(int a[], int size) { int i; for(i=0;ii;j--) if(a[j-1]>a[j]) swap(&a[j],&a[j-1]); } int main(void) { int i; int data[i],point[NUMBER]; printf("%d個のデータを入力してください。\n",NUMBER); readIntArray(data,NUMBER); printIntArray(data,NUMBER); puts("昇順にソートしました。"); bsort(point,NUMBER); for(i=0;i
回答: > > int data[i],point[NUMBER]; > > > このときに、iにはなにが入ってるのか考えてみればどうでしょうか。 ローカル変数にはでたらめな値が入ります