c语言中所有的非0值都代表true scanf等于得到输入值的输入项的个数,比如输入一个数就返回1,输入两个数返回2
应该是 scanf("%d",&a),scanf()是一个输入函数,输入一个int值存到a里面,同时scanf是有返回值的,表示输入值的个数,此处若scanf只输入一个变量,其返回值就等于1,while循环条件成立,进入循环体.
scanf 函数有一个返回值,0表示接受输入失败,1表示接受输入成功. while(scanf("%d",&x)==1) 的意思就是: 当接收输入变量x的值成功的时候,继续做循环.
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回eof.如: scanf("%d %d",&a,&b); 如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为eof.且返回值为int型.!scanf("%d",&n)==scanf("%d",&n)=0 ~scanf("%d",&n) ,~为取反(二进制下)
while(scanf("%d",&x)==1) 输入一个数;并判断一下输入的数是不是等于1;分解: scanf("%d",&x); while(x==1) 就是这样的;只不过他把这两条表达式合成了一条表达式;
%*c表示读取字符,但是不赋值给字符变量.
你可以看一下scanf函数的返回值.其返回值是成功赋值的数据项的个数.看你的那句代码的意思应该是用来判断是不是成功输入了值,如果成功输入值,则执行while循环中的代码语句
意思指的是如果从键盘上获取的一个数字等于1,和一相等的情况下就会进入到循环里面.
scanf函数的返回值返回读取到的输入的数据个数这句的意思是:当从命令行获取到输入,并且输入的数不为零,就继续循环,任意一个不满足就会退出循环.&& 表示 且.
scanf("%d',&n)==1 表示输入的为整型数值,否则此条件不成立(例如输入 字母 a 则返回值为EOF即不为1)&&n 表示要求n为非零的数值 即整句意思是输入非零的整形数值时进入循环