while(scanf( %d ,&a[i])!=EOF)的用法

2024-12-17 17:36:00
推荐回答(4个)
回答1:

输入整数赋值给a数组,直到到达EOF为止,EOF 意思就是 end of file。

  1. scanf的返回值由后面的参数决定

  2. scanf("%d%d", &a, &b);

  3. 如果a和b都被成功读入,那么scanf的返回值就是2

  4. 如果只有a被成功读入,返回值为1

  5. 如果a和b都未被成功读入,返回值为0

  6. 如果遇到错误或遇到end of file,返回值为EOF。

  7. Linux中,在新的一行的开头,按下Ctrl+D,就代表EOF;

  8. Windows中,Ctrl+Z表示EOF。

回答2:

while(scanf("%d",&a[i])!=EOF)
你这个是不行的,因为每次你读下一个数字都要空格,所以这个没用一直循环
你改成while(scanf("%d",&a[i]))
当你输入不是int 型的时候结束

回答3:

Ctrl+Z可以使scanf返回EOF

楼上胡扯,楼上的楼上胡扯。

cout<<"输出个字符串有什么问题??"<
scanf函数只有在无法读取到更多数据的情况下才会返回EOF,至于输入的东西不是int,程序会卡死在这.......

如果是Windows下的命令提示符或者纯DOS, Ctrl+Z,回车是正确的终止输入的方式。
就是说程序运行后输入数字->回车继续输入数字->按Ctrl+Z,回车结束输入
Unix之类则是Ctrl+D(应该没记错)。

至于这个程序还有几处错误, 而且看了半天不知所谓, 这坨代码究竟是干什么用的?

回答4:

cout<<"yunxing"; << 后面接的 变量 你搞个字符串什么意思