scanf的返回值
函数名:scanf
功能:执行格式输入
scanf("",&) ;
- 返回正整数,表示正确输入参数的个数
- 返回0,输入不匹配,没有正确输入任何值
- 返回-1,表示输入流已经结束。
#include<stdio.h>
main()
{int a, b;
while(~scanf ("%d%d", &a, &b))
printf ("%d", a+b) ;
}
关于~的作用
- 在windows下,用户按下Crtl+Z(会看到一个Z字符),会停止输入流,scanf返回-1。
- -1的补码为11111111 11111111 11111111 11111111,共4个字节。
- ~是c语言中的按位取反,因此~(-1)为00000000 00000000 00000000 00000000,正好是整数0的补码。
- 当输入Crtl+Z时,scanf会返回-1,while(~-1)==while(0),0为假,退出循环。
自增运算符的前后置
赋值语句 z=x++,y++,++y
“x ++, y ++,++ y ”是一个逗号表达式
i++先输出再加
++i先加再输出
while(n–)注意前后置。