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

供稿:hz-xin.com     日期:2025-01-15
C语言,while(scanf("%d",&item[i])!=EOF)的用法,如何跳出循环,具体的!

输入数据结束想退出循环时 拍入 组合键 Ctrl-Z 就是 EOF.
int item[100];
int i,n;
i=0;
while(scanf("%d",&item[i])!=EOF) { i++;}
n=i;
printf("I have read:
");
for (i=0;i<n;i++) printf("%d ",item[i]);

while(scanf(%c,&a)!=EOF),这个是如果读取正确,则一直读取数据。
数组直接用a,是指传递了a数组的首地址,根据a的偏移量读取数据。a[]是指单独赋值数组中的某个值。
存储字符串用字符数组,可以直接赋值,也可以按照下标赋值,按照下标赋值需要在结尾手动添加“\0”。

输入整数赋值给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。



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

Ctrl+Z可以使scanf返回EOF

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

cout<<"输出个字符串有什么问题??"<<endl;

scanf函数只有在无法读取到更多数据的情况下才会返回EOF,至于输入的东西不是int,程序会卡死在这.......

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

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

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

hile(scanf("%d %d",&a, &b) != EOF)什么意思,什么作用,谢谢~~这里面...
EOF就是-1,是在stdio.h里定义的。按照上面的说明,scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。所以,楼主你的这个循环,将是一个死循环。另外,站长团上有产品团购,便宜有保证 ...

whhile(scanf("%d",&n)!=-1)是什么意思
是“while(scanf("%d",&n)!=-1)”?scanf如果遇到错误或遇到end of file就返回EOF(-1),所以这段代码的意思可能是循环一直让用户,一直到输入错误为止,即scanf返回EOF。

do while程序代码错误
printf("\\n");scanf("%d",&selection);} while(selection<1||selection>4);return selection;}

C\/N值是什么
在肥料生产行业中,C\/N值指的是碳和氮的比值。碳素是堆肥微生物的基本能量来源,也是微生物细胞构成的基本原材料,堆肥微生物在分解含碳有机物的同时,利用部分氮元素来构建自身的细胞体,氮还是构成细胞中蛋白质、核酸、各种酶类的重要成分,一般情况下微生物每消耗25g有机碳,需要吸收1g氮素,微生物...

linux段错误
首先 要明白一点,任何的段错误,都是内存分配有错误,在编译的时候 把 -g 加上,然后用gdb调试,看错误出现的位置,再分析……gdb显示第26行有错误

求getchar();使用与否所造成的差别 whhile循环下的第一行 不加getchar...
没有getchar()当你输入了一个比2500小的年份,这个程序会从输入年份一直循环到2500为止,即是结果有多个。有了getchar()是为了让函数停一会,当你再按会车时,就继续判断。比如,你输入2448,没有getchar时,会是连续的结果,而有的时候,敲一下任意键有一个结果。建议你看看getchar()的作用,还有...