目录
while持续输入循环代码
while(scanf("%d",&n)!=EOF) {
//....其他判断条件,比如输入的为0,跳出循环
if(n==0)
break;
}
如果n被成功读入,则返回值为1,
如果n未被成功读入,则返回值为0,
如果遇到错误或遇到end of file,返回值为EOF。
那么什么时候返回EOF呢,简单来说在Windows下按住Ctrl+Z,在Mac下按住Ctrl+D,作为结束流的信号。
全部情况的方法总结如下:
1.都是输入一种变量时
while(scanf("%d",&n)!=EOF) while(~scanf("%d",&n)) -------------------------------------以上可以按Ctrl+Z或Ctrl+D来结束,按0时会继续输入 while(scanf("%d",&n)&&n!=0) while(scanf("%d",&n)&&n) //上一步简化后,相当于while(n)<--这个n是你输入的值 while(scanf("%d",&n),n) -------------------------------------以上是在输入0时结束,按Ctrl+Z或Ctrl+D无效 while(scanf("%d",&n)==1&&n) -------------------------------------既可以按0时结束,也可以以按住Ctrl+Z或Ctrl+D结束
2.两种变量输入时:
while (scanf("%d %d",&m,&n)!=EOF) while (~scanf("%d%d",&m,&n)) -----------------------------------------------------以上可以按Ctrl+Z或Ctrl+D来结束,按0 0时会继续输入 while(scanf("%d%d",&m,&n)&&m&&n) while(scanf("%d%d",&m,&n),m,n) while(scanf("%d%d",&m,&n)==2,m,n) --------------------------------------------以上是在输入0 0时结束,按Ctrl+Z或Ctrl+D无效 while(scanf("%d %d",&m,&n)==2&&m&&n) ---------------------------------------------既可以按0 0时结束,也可以以按住Ctrl+Z或Ctrl+D结束