【发布时间】:2014-09-25 09:26:41
【问题描述】:
我必须在我的 program.gcc 中输入一个 .in 文件 ./"file" 因为有多个输入,我必须使用 While 循环 EOF,但是 因为那个我不能再scanf了。 这是我的程序的模拟版本。谢谢
#include <stdio.h>
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 返回读取和分配的数据字段数。在这种情况下 -
int值的数量。因此,成功时为 1,失败时为 0。或者,如果发生读取错误或文件结尾,则可能是 EOF。见cplusplus.com/reference/cstdio/scanf -
@CiaPan OP 当然想从重定向的
stdin读取所有输入,然后想继续从控制台读取(非重定向输入)。与其说程序示例 产生什么,不如说它如何使用来自重定向stdin然后“未重定向”@ 的输入987654326@. -
输入文件可以工作并打印,但之后不允许用户在终端中输入
标签: c