~scanf的意思、作用

  • scanf("%d %d",&a,&b);
    函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;
    如果只有a被成功读入,返回值为1;
    如果a和b都未被成功读入,返回值为0;
    如果遇到错误或遇到end of file,返回值为EOF(-1)。end of file为Ctrl+z 或者Ctrl+d。
  • ~
    ‘~’ 为一元运算符,用于求整数的二进制反码。
    scanf()的返回值为大于等于-1的数,只有当scanf()返回值为-1(二进制表示为全1)时,~scanf()的值为0,其他情况均不为0.
  • while
    while循环只有在条件为假(0)时才跳出循环(条件值为负数仍继续循环)。

当输入未遇到错误(scanf()返回值不为0)时,循环会一直继续下去,进而达到控制循环的目的。

#include
int main(){
	int a,b;
	while(~scanf("%d%d",&a,&b))		/*~scanf("%d%d",&a,&b)的返回值永不为0*/
		printf("%d\n",a+b);
	return 0;
} 

你可能感兴趣的:(编程基础知识)