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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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输入成功时,进行或继续循环。
参考技术A while(scanf("%d", &num) == 1)
这句的作用呢,其实就是判断你从终端输入的数字:num是不是符合进入循环体的条件。
这个条件是这样的,因为scanf的返回值是int类型,当你正确输入了num之后,scanf的返回值就是1,此时1==1,进入while循环。所以这个1的作用就是判断你是否正确输入参数num的值。
参考技术B while(scanf("%d", &num)==1)
等待输入一个整型数,当成功读入这个整型数后,scanf会返回1,进入while循环体。

以上是关于c语言 while(scanf("%d", &num) == 1) 起啥作用的主要内容,如果未能解决你的问题,请参考以下文章

c语言请问while循环为啥执行不了?

c语言 scanf("%d",&a);输入字符为啥会进入死循环?

C语言中静态局部变量的问题

C : while( scanf("%d",&num) != 1 ) 无限循环

C语言中如何实现输入输出多组数据,该如何结束输入

C语言do while问题