1. 读取到文件结尾
while(~scanf("%d", &n))
{
}
while(scanf("%d", &n) != EOF)
{
}
EOF值一般为-1,End Of File.
while(~scanf("%d", &n))的~的含义:
~是按位取反
scanf的返回值是输入值的个数
如果没有输入值就是返回-1
-1按位取反结果是0(只有-1按位取反的结果为0)
while(~scanf("%d", &n))就是当没有输入的时候退出循环
2.以某种数据作为结束
//n为0
while(scanf("%d",&n) && n)
{
}
//n和m同时为0
while(scanf("%d%d",&n,&m) && n+m)
{
}
参考链接:https://blog.csdn.net/liuchuo/article/details/67076344
参考链接:https://blog.csdn.net/ordinarv/article/details/82145753