c语言 while(scanf("%d", &num) == 1) 起什么作用

尤其是 == 1 干嘛用的

1、scanf()是格式输入函数,它的返回值是已经正确输入变量的个数,如返回值为1,代表已经输入了一个变量,但它的返回值一般不用。
2、==是c语言中逻辑运算符"相等"的符号,scanf("%d", &sum) == 1表示scanf函数的返回值为1。
3、while(scanf("%d", &sum) == 1) 是整句话的意思是当变量sum输入成功时,进行或继续循环。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-15
while(scanf("%d", &num) == 1)
这句的作用呢,其实就是判断你从终端输入的数字:num是不是符合进入循环体的条件。
这个条件是这样的,因为scanf的返回值是int类型,当你正确输入了num之后,scanf的返回值就是1,此时1==1,进入while循环。所以这个1的作用就是判断你是否正确输入参数num的值。本回答被网友采纳
第2个回答  2019-01-14
while(scanf("%d", &num)==1)
等待输入一个整型数,当成功读入这个整型数后,scanf会返回1,进入while循环体。

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

C语言while(scanf("%d",&num)==1);语句的一个问题
scanf()函数的返回值是返回成功赋值的数据项数,所以不论你输入的是数字还是空格,只要正常读入了,scanf()函数的返回值就是1。只不过空格是将空格的ACSII码值读入赋值给num了

关于while(scanf("%d",&num)==1)
在你输入字母时,因为scanf("%d",&num)中格式要求是整型(%d),所以不符合,返回值为0,而当你输入任何数字时,scanf的返回值都是1。这是因为:函数原型:int scanf(char *format[,argument,...]);scanf的返回值由后面的参数决定 scanf("%d%d", &a, &b);如果a和b都被成功读入,那么scanf...

c语言的问题关于while(scanf(“%d",&sum)!=1)
scanf从缓冲区读取:你输入的字符串会保存在一个缓冲区内,scanf在正确的时候是到这个缓冲区中读取字符,并且从缓冲区中删除字符。但如果是%d格式碰到了字母,则不会读取也不会删除,之后ABC还在缓冲区内。scanf不停止:如果缓冲区内有内容,scanf是不会停下来等你输入的,因为ABC一直在缓冲区内,所以造...

while (scanf(''%d'', &num)==1) ;
因为scanf在读取数字时返回1条件为真,循环继续。这样就会无限输入数字但是都会忽略掉。

while(scanf("%d",&n) == 1) 这句是什么意思,“== 1”到底指的是什么...
判断有没有输入值,输入一次就进入循环,如果没输了,就循环结束了。

while (scanf("%d", &n)==1 && n!=0)具体什么意思
scanf("%d",&a),输入一个数,scanf返回值为1,如果输入的是字母什么乱七八糟的,scanf返回0,输入不成功,那么这句话的意思就是,检测输入的数不为0,再进行循环~

C语言怎样实现只允许输入数字,不允许输入符号、字母等
假设变量时num,则when(scanf("%d",&num)==1 && num>9)scanf("%d",&num)==1意思是输入一个数,scnaf才返回数字1,其他字符则是错的, && 在两者都成立时才成立,num>9解决了输入时两位或两位以上的的数字,当符合这些条件时,才允许往下进行。

while(scanf("%d",n)==1) 是什么意思呢?
while(scanf("%d",n)==1)\/\/改为:while(scanf("%d",&n)==1) \/\/表示当正确的输入了一个值,重复执行后面的代码。

初学C语言 while(scanf("%d",&n)==1) 是什么意思?
scanf 函数有一个返回值,0表示接受输入失败,1表示接受输入成功。 while(scanf("%d",&x)==1) 的意思就是: 当接收输入变量x的值成功的时候,继续做循环。

相似回答