scanf返回值和多组输入 |
您所在的位置:网站首页 › scanf返回值-1 › scanf返回值和多组输入 |
一.如果scanf读取成功,返回的是成功赋值的数据项数。如下,![]() scanf读取了两个有效的数字,输出2。(注意组合键后面要加enter,vs要输三次,其他编译器一般只输一次)。 这种直接输EOF的方法看似可行,但不可取,在循环中都会死循环,是错的,是用^z输出EOF。 EOF和是输入输出流结束标志。 二.如果scanf读取失败,返回EOF,EOF的值是-11.用while (scanf("%d", &a) != EOF) 2.用while (~scanf("%d", &a) ) ~是按位取反运算符,因为EOF本质上是-1,按位取反后变成0,为假,终止循环。 3.可以加上逗号运算符 (灵感来源EOF的用法(while(scanf(“%d“,&n) != EOF))和~取反的用法(while(~scanf(“%d“,&n)))_scanf eof_diviner_s的博客-CSDN博客)例如while(scanf("%d%d",&a,&b) != EOF,a || b),a || b 代表两者都为0结束,a && b 代表任意一个是0就结束 ,但EOF和^z结束不了。(逗号表达式从左向右依次计算,最后一个表达式的结果是整个表达式的结果)。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |