while(~scanf("%d", &n))和while(scanf("%d", &n) !=EOF)
首先介绍scanf()函数:
int scanf(char *format[,argument,...]); //scanf("<格式化字符串>",<地址表>);
返回类型为int,成功时返回输入值个数,出错则返回EOF,scanf读入到EOF时返回-1。
~ 是按位取反,-1取反结果是0,while(~scanf("%d", &n))当没有输入的时候退出循环,与while(scanf("%d", &n) !=EOF)相同。
while(~scanf("%d", &n))常用来进行多组输入输出
while(~scanf("%d",&n)){
while(n){
......
--n;
}
}