简单的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循环。