#include<stdio.h>
int main()
{
int a[100];
int x,i=0,j;
while(scanf("%d",&x)!=EOF)
{
a[i]=x;
i++;
}
printf("%d",i);
}
这个为什么输出不了
经过测试,可以正常输出。
题主可能没有用Ctrl+Z+enter结束输入操作,输入好之后用Ctrl+Z+enter结束就能正常输出了。
希望对题主有所帮助!可以的话,帮忙点个采纳!
scanf在读取错误或文件结尾的时候会返回EOF(参考:https://www.runoob.com/cprogramming/c-function-scanf.html
所以在命令行可以在输入几个数字后,在通过按CTRL+Z再回车终止这个他的执行,从而返回EOF结束whiel循环,然后就会打印出结果。
在命令行也可以通过 程序名 <1.txt 类似形式传入文件让程序执行,到了文件结尾也会产生一个EOF,从而结束while循环,也一样可以打印出结果。
你需要按组合CTRL+Z键结束输入
Windows系统终端下按Ctrl+Z再回车,表示输入流结束
Linux系统终端下按Ctrl+D表示输入流结束