acm 简单的a+b

2024-11-19 15:32:46
推荐回答(1个)
回答1:

基础知识:
scanf的返回值是读取到的数据的个数,当scanf 读取到 EOF(end of file) 会返回 EOF(-1).
~是位运算取反。

-1的二进制是 11111111
程序解释:
while(~scanf("%d%d", &a,&b))
当scanf读取到数据的时候 会返回 2。 位运算取反后 是个非0 值,while会继续循环。
当scanf读到EOF时 返回-1。位运算取反为0,while循环退出