while(~scanf()){ } 解释: scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF(也就是-1) ~是位反操作符,也就是把操作数按位取反 所以这个判断条件表示当读到文件尾(EOF)时,while退出。因为-1按位取反是0