我的程序正在使用scanf!= EOF从.in文件输入标准输入。如./"file" < file.in问题是我必须在终端后从终端扫描。有没有办法可以调用EOF到stdin,以便文件停止从file.in扫描或者指定scanf从终端而不是文件中读取。我也只允许使用scanf,因为这是一项大学任务。这是我的问题的模拟程序。感谢
int main() {
int arr[100];
int num;
int count = 0;
while( scanf("%d", &arr[count]) != EOF ) {
count++;
}
printf("%d\n", arr[0]);
scanf("%d", &num);
printf("%d\n", num);
}
**输出只是第一个数字列表的编号,而scanf完全被忽略,打印数量没有值。
答案 0 :(得分:0)
scanf()返回读取字符数。 你需要feof()函数,或者将scanf的返回值与0
进行比较答案 1 :(得分:0)
要在EOF
中调用/模拟stdin
,如果您在Windows中,请按CTRL + Z.否则在运行程序时按CTRL + D.