备战2022蓝桥杯每日一题(1)

简单的a+b

题目描述:
在这里插入图片描述
收获:
scanf函数的返回值

scanf()函数返回值分为3种:

(1)返回正整数。表示正确输入参数的个数。

(2)返回整数0。表示用户的输入不匹配,无法正确输入任何值。

(3)返回-1。表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复多次),就表示输入结束。

#include<stdio.h>
int main()
{
    
    
    int a=0,b=0;
    while(~scanf("%d%d", &a, &b)) //等同于 while(scanf("%d%d", &a, &b)==2)
    {
    
    
        printf("%d\n",a+b);
    }    
    return 0;
}

测试完按ctrl+z结束

补充:
~是c里的按位取反 。
(-1)结果为00000000 00000000 00000000 00000000刚好为整数0的补码。因此当输入Ctrl+Z时,scanf会返回-1,while(~-1)==while(0),0为假,退出while循环。

猜你喜欢

转载自blog.csdn.net/m0_52773286/article/details/120863645