#include<stdio.h> int main() { int a,b; while(~scanf("%d%d",&a,&b)) { printf("%d\n",a+b); } }
这段代码中
while(~scanf("%d%d",&a,&b))
请各位高手解释下,谢谢!
解决方案
10
scanf的返回值是 输入变量的个数。
假如输入了a和b那么就返回2.
~scanf(),就是没有得到正确输入
总体上就是,假如有正确输入,就退出循环,假如没有正确输入,就执行循环,一直取值。
假如输入了a和b那么就返回2.
~scanf(),就是没有得到正确输入
总体上就是,假如有正确输入,就退出循环,假如没有正确输入,就执行循环,一直取值。
10
关键你要弄懂scanf返回值的意思,表示的成功接收到的数目,假如失败,返回的是EOF,也就是0xFFFFFFFF,这个值取反以后就是0
参看:http://en.cppreference.com/w/c/io/fscanf
参看:http://en.cppreference.com/w/c/io/fscanf