while(scanf("%d",&n)!=-1)是用来做什么的

#include <stdio.h>
void main()
{ int n,m,k;
while(scanf("%d",&n)!=-1) {
m=n;k=0;
while(m!=0){
k++; m=m/10;
}
printf("%d是%d位整数\n",n,k);
}
}

读取到文件结束,对于标准输入来讲,在windows上可以用ctrl+z输入结束符号,*nix系统上用ctrl+d

ps,写成while(scanf("%d",&n)!=EOF比较好
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-14
while(scanf("%d",&n)!=-1)是结束用的,运行程序按ctrl+Z,就不在执行了,不好意思刚才写错了。本回答被提问者采纳

C语言中的while(scanf("%d",&n)!=EOF&&n)的意思是什么?用C++如何表达...
说了这么多,那么while(scanf("%d",&n)!=EOF&&n);说白了就是指:只要n不为0,则执行循环体中的代码。否则跳出!在C++中 您可以使用:while(cin>>n&&n)解释的够累了,连运算符的优先级都讲到了。。。哎,真心累啊!

c语言 while(scanf("%d",&n)!=EOF,n) 是什么意思?
你好,EOF的值其实就是-1,当scanf读取内容发生错误或者读到文件结尾的时候就会返回EOF,那个while的意思就是说当当前输入缓存还有东西时就一直读取,直到输入缓存中的内容为空时停止。

C语言:while(~scanf("%d",&n))什么意思呀? while(!scanf("%d
也就是说while(scanf("%d",&n),n)其实相当于while(n),只是因为要输入所以写成了while(scanf("%d",&n),n)这样而已

while(scanf("%d",&num),num!=-1)啥意思?
从键盘输入一个num,当num=-1时退出while循环,num不为-1时进入while循环

从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志...
while(n!=-1){ a[k++]=n;\/\/输入的n值赋值给a数组;k计数;scanf("%d",&n);\/\/如果上一个n不为-1,继续输入;} int s=0,b=0,c=0,d=0,e=0;for(int i=0;i<k;i++){ if(a[i]==0)s++;if(a[i]==1)b++;if(a[i]==2)c++;if(a[i]==3)d++;if(a[i]==4)...

c语言 while(scanf("%d", &num) == 1) 起什么作用
1、scanf()是格式输入函数,它的返回值是已经正确输入变量的个数,如返回值为1,代表已经输入了一个变量,但它的返回值一般不用。2、==是c语言中逻辑运算符"相等"的符号,scanf("%d", &sum) == 1表示scanf函数的返回值为1。3、while(scanf("%d", &sum) == 1) 是整句话的意思是当变量...

初学C语言--一个判断输入的数中,奇偶个数的程序,输入-1结束。
把第一个 scanf 去掉就可以了,如下:include <stdio.h>#include <stdlib.h>int main(){int n; int x = 0; int t = 0; \/\/scanf("%d", &n);\/\/输入时以输入-1结束,t表示奇数个数,x表示偶数。 while(scanf("%d",&n) == 1 && n != -1) { (n%2==0)?(x++):(t++);...

C语言打印输入的非负整数,一行打印一个整数,输入的整数以-1表示...
include <stdio.h> int main(){ int n = 0;while ((scanf("%d", &n) == 1)&&(n != -1)){ printf("%d\\n", n);} return 0;}

while(scanf("%d",&n)!=EOF)是什么意思?
判断文件末端。 没有输入返回1 无输入的话返回-1

C语言的while(scnaf("%d",&n)!=EOF)的用法
scanf("%d",&n);fflush(stdin); \/\/ 这是清除输入缓冲区里的'\\n', 以免下面统计行数时搞错 for(i=0;i<n;i++){ while(1){ t = getchar();if (t =='\\n') break; \/\/ 如果换行,本循环结束 if ( (t >= '0') && (t <= '9')) { tmp = t - '0'; \/\/ ASCII...

相似回答