1 か月前に C の学習を始めたばかりで、これはデータ リストのピークを検出するために書いたコードです。ターミナルで「input data.txt」を実行すると、どういうわけか無限ループに陥りますが、標準入力またはキーボードを介してまったく同じデータを手動で入力すると、完全に正常に動作します。無限ループに陥る理由はありますか?
ありがとう!
int main(void)
{
int data1 = 0;
int data2 = 0;
int data3 = 0;
int counter = 1;
scanf("%d %d %d", &data1, &data2, &data3);
puts("Number Magnitude");
while (data3!= EOF){
if ((data1<=data2)&&(data2>data3)){
printf("%*d%*d\n", 4,counter,11, data2);
counter++;
}
data1 = data2;
data2 = data3;
scanf("%d", &data3);
}
return 0;
}