stdinから整数を読み込み、EOFで読み込みを停止するプログラムや、無効な入力があったプログラムを書き込む必要があります。無効な入力がテストされると、 "segmentation fault(core dumped)"というメッセージが表示されます。無効な入力があった場合、どのようにループを終了しますか?ここに私のコードは次のとおりです。Cで無効な入力
int main()
{
int num, temp, x, j;
int i = 0;
int arr[ARRAY_MAX];
while (scanf("%d", &num) != EOF)
{
arr[i] = num;
i++;
}
for (x = 0; x < i; ++x)
{
for (j = x+1; j < i; ++j)
{
if (arr[j] < arr[x])
{
temp = arr[x];
arr[x] = arr[j];
arr[j] = temp;
}
}
}
printf("%d\n", arr[1]);
return EXIT_SUCCESS;
}
'ARRAY_MAX'の値は何ですか?この最大値を超えてしまうのを防ぐべきではありませんか? –