質問: タイトルの通り、入力した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); for(i=0;i
回答: ヒント:`readIntArray()` ってユーザーに入力を求める関数ですよね。 答え:それを `bsort()` の後に呼んだらどうなりますか? 明日のための第一歩:たいていの開発環境にはデバッガというものがついています。 Visual Studio ならば組み込み機能として [cygwin](/questions/tagged/cygwin "'cygwin' のタグが付いた質問を表示") なら `gdb` とか。デバッガが使えるようになるとプログラムがどのように挙動するかをいちいち手で追いかけることができデバッグ効率が上がります。ぜひ覚えてみてください。掲示板系サイトに質問して答えが返ってくるのを待っている間に原因がわかりますよ。