基础知识: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循环退出