一个月前我刚刚开始学习 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;
}