‘壹’ 求助,c语言 Ctrl+Z 不能结束循环
按Ctrl+Z会使scanf()函数返回 -1,应该将while (scanf("%d",&n0))改成while (scanf("%d",&n0)!=-1)
较正式的写法是while (scanf("%d",&n0)!=EOF)
解释下EOF
#define EOF -1
这是C语言本来就有的
h_acm为你解答
‘贰’ c语言运行后无法用ctrl+z终止程序
把if(c=' ')改成if(c==' ')
‘叁’ c语言 用EOF退出循环的时候 按ctrl+Z没反应 但是如果按完ctrl+Z之后再按一个z 就可
这同程序里的输入语句有关,某些语句 要等到 接收到 Enter 键(俗称 回车)时才执行。这种情况下,ctrl+Z 后要加回车才行。
为什么按z 可以呢,要看你的 程序语句才能知道。要是猜测,那么可能性太多。我就没必要无的放矢了。
‘肆’ 为什么我键入ctrl+Z之后程序不会终止
scanf对EOF的判断,并不是通过读入的c来识别的 而是通过返回值、
当scanf返回EOF的时候,才是识别到了ctrl Z
这时c并不会赋值的。
所以 你这个程序得改成判断返回值才行。
比如
while(scanf("%c",&c) !=EOF)
‘伍’ c语言编程是想结束文件输入输EOF.为什么ctrlZ没用,ctrlD也没用,我的是windows.
按crtl 和z ,然后按回车,多按几下,一次是不行的
我试了,windows可以的
‘陆’ C语言 在命令提示符 输入 ctrl+z(EOF结束符) 出现 向右箭头,无法结束。。。
ctrl + d才是
‘柒’ C++ctrl+z怎么结束不了
不是c++结束不了
如果是想结束输入,ctrl+z回车,再ctrl+z回车,就可以了
如果是想结束程序,ctrl+c就退出了
‘捌’ c语言怎么输入若干个正整数,以ctrl+z作为结束符号
#include"stdio.h"
intmain(intargv,char*argc[]){
intx;
while(scanf("%d",&x)!=EOF){
printf("%d",x);
}
printf(" ");
return0;
}
运行样例:
‘玖’ 为什么下面的语句无法结束输入(ctrl+z) while(scanf("%c %c",&ch1,&ch2)!=EOF) { ....... }
eof是文件结束符,而ctrl+z在控制台表示的是ASCII中的26。不是结束的意思。
‘拾’ 为什么我的机子键入ctrl+z无法结束文件输入(c++程序)
代码风格不错。不过,istream类的 >> 操作符定义的返回值是一个引用,istream &你直接用 while(cin>>letter),想要循环退出,除非是 >> 操作符返回一个空值,因此,按 Mai Kuraki 所说的输入一个 0 显然是不行的,看起来,不论你输入什么,都不可能返回一个NULL。 直接地说,你不应该用 cin>>letter 作为循环条件。