其中while(scanf("%d%d",&evil1,&evil2)==2)),这个循环的条件是什么意思,怎么才算跳出循环呢?

作者&投稿:漫峰 (若有异议请与网页底部的电邮联系)
C语言 while(scanf("%d %d",&evil,&evil2)==2)为什么==2?~

你要知道scanf函数的返回值。。scanf这个函数的返回值是从键盘上接收到的数据的个数,你是接受两个,所以判断是不是等于2,如果是2说明正确接收了。当然,0,1,3肯定不行咯

if(scanf("%d%d",&a,&b)==2) 用来判断scanf输入是否成功。scanf的返回值是参数被成功赋值的个数,也就是如果只有a赋值成功,则返回1,a,b都赋值成功则返回2。如果失败返回0。

scanf这个函数式有返回值的,函数原型为int scanf( const char *format, ... );可见其返回值类型为int类型的,返回值得含义是你成功读入数据的个数。具体到你的问题中就是,当你成功输入两个数字的时候,循环继续,当你输入的数字小于两个的时候就会跳出循环。多谢采纳。

scanf()的返回值是成功赋值的变量数量 ,你的这个函数中循环的结束条件是,当不能成功给evil1或evil2赋值的时候

前面两个人关于scanf返回值的解答都没问题,scanf返回的确实就是成功赋值的个数
我这里主要解答一下怎么样才能让你这个循环退出。
很简单,你只需要输入一个非数字,例如a
或者输入一个数字和非数字,例如1 a
这两种情况都能让你的循环退出,scanf分别会返回1和0

scanf函数的返回值有两种,在你输入数据格式正确时,返回输入数据个数,在输入数据格式错误时,返回0。while循环的执行条件就是你输入的数据格式正确,也就是scanf返回2;
如果你输入非整数类型的数据,如“a回车”或者“-回车”又或者“a空格b回车”,都会返回0,这样就跳出循环了。
注意,如果你输入数字小于两个时,不会跳出循环,而是等待你继续输入,这个是scanf函数的特性。

while (scanf("%d%d", &m, &n))什么意思?
答:scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。如:scanf("%d,%d", &a, &b);如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为EOF。且返回值为int型.参考资料...

while(scanf("%s",s)==1)什么意思
答:scanf()函数返回的是此函数读取到的参数个数。所以,当scanf("%s",s)正常读取到一个字符串时(不论串的长短如何),scanf()函数的值总是1。只有当它没有读到时(比如,遇到了文件结束、遇到了^Z),就返回读到的参数个数0。while(scanf("%s",s)==1)就是说当未读到结束时就循环。键盘上以...

...其中这句 while(scanf("%f",&score)==1) 不是很理解,能不能解释一...
答:scanf()函数返回成功赋值的数据项数 这里while(scanf("%f",&score)==1)语句中,scanf只给一个变量赋值,成功返回1,不成功则返回0 也就是说 你输入有误(比如说你输入字符、字符串型)就不能成功给score赋值,就会返回0 参考资料:http://baike.baidu.com/view/1390039.htm ...

c语言中 while (scanf("%d".&a) == 1) 什么意思?
答:应该是 scanf("%d",&a),scanf()是一个输入函数,输入一个int值存到a里面,同时scanf是有返回值的,表示输入值的个数,此处若scanf只输入一个变量,其返回值就等于1,while循环条件成立,进入循环体。

while(scanf(“%d”, &n) && n)是什么意思啊,
答:scanf(“%d”,&n)是说输入一个整形得字符 &&是AND得意思 简单说A&&B就是A和B必须同时不为0 或者理解为 A B都成立得情况 这里如果你输入一个n 得字符 如果输入得不是空值 比如没有输入 这里就说先输入 在判断 输入的是否为空 如果为空 下面循环不执行 不为空 才执行~...

while(scanf("%d%d",&n,&m)==2&&n&&m)什么意思
答:是这样的 第一个数输入的返回值 两个百分号D 只有输出两个整数后才返回2 所以 scanf() == 2 && 是且的意思 也就是说 不但要输入2个正确的数 还有n且m不等于0;c里没有bool c是这么认为的 非0即真 比如 我们输入 0 0 并按回车 这样循环条件是不成立的 scanf == 2 成立 &&n ...

C语言:while(~scanf("%d",&n))什么意思呀? while(!scanf("%d
答:其实scanf("%d",&n),n这是一个逗号表达式,所谓逗号表达式,它的值是逗号后面的那个数,举例如下:y=(5,6);//那么y=6,注意的是因为逗号表达式的优先级比赋值运算还低,所以如果你写成y=5,6的话y还是等于5的 也就是说while(scanf("%d",&n),n)其实相当于while(n),只是因为要输入所以写成...

while(scanf("%d",&x) == 1)//ctrl+z到底是怎么作用,终止循环?
答:scanf("%d",&x)其返回值为正确输入的变量个数. 正确执行时会成功给x赋值,即赋值了一个变量. 返回1.当出错的时候,比如输入了字母,那么就会返回0.当遇到文件结束标记EOF的时候,会返回-1.所以,这个代码,不一定要ctrl +z 输入任意非数字字符就可以终止循环了.ctrl +Z 就是windows上输入EOF标记的...

while(scanf("%d%d", &n, &m), n+m)
答:(自己看scanf函数说明,了解函数送返什么)再执行n+m, 这里的 n m 用 scanf读 入的 值 “逗号”表达式 结果 等于 n+m while( 逗号表达式 结果){} 等同于 while( 真还是假 ){} C 语言规定 0 为假, 非0 为真。也就是 n+m 等于 0, while (假){} 就做不循环体。n+m 不...

while ( (scanf("%f",&a))!=EOF) 这是什么意思
答:while ( (scanf("%f",&a))!=EOF) 表示只要文件还有IO的输入,循环就可以继续进行。一旦输入介绍后scanf("%f",&a)函数的返回值就是EOF,于是while循环就结束了。EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。在while循环中以EOF...