(已解决)请教一下,scanf前面的~是什么意思啊?
这是我写的代码
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d", &a, &b)) printf("%d", a+b);
return 0;
}
然后这是做题目正确的答案
#include<stdio.h>
int main()
{
int a,b;
while(~scanf("%d%d", &a, &b))printf("%d\n",a+b);
return 0;
}
它就多了一个这个~,我不知道是什么意思咧,有没有大神能教一下!
关于 LearnKu
c语言中,
~表示按位取反,是位运算符,运算对象是 2 进制。~与其后的数值或变量相结合,执行取反计算,当原操作数的第i位为0时,结果的第i位为1;否则该位值为0。scanf()函数的返回值,正整数,表示正确输入参数的个数。例如执行scanf("%d %d", &a, &b);如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量)。