无法退出cmd文本键入?
在C上运行此程序后,无论我按Ctrl+Z多少次,都无法通过cmd退出。此程序统计制表符、新行和新空格的数量无法退出cmd文本键入?,c,cmd,C,Cmd,在C上运行此程序后,无论我按Ctrl+Z多少次,都无法通过cmd退出。此程序统计制表符、新行和新空格的数量 main() { int c, nl, nb, nt; nl = 0; nb = 0; nt = 0; while ((c == getchar()) != EOF){ if (c == '\n') ++nl; if (c == '\t') ++nt; if (c == ' ') +
main()
{
int c, nl, nb, nt;
nl = 0;
nb = 0;
nt = 0;
while ((c == getchar()) != EOF){
if (c == '\n')
++nl;
if (c == '\t')
++nt;
if (c == ' ')
++nb;
}
printf("%d %d %d\n", nl, nt, nb);
}
按Ctrl+C键只会退出。
Ctl+D
在基于UNIX的系统中是EOF
。您需要在任何时候停止时按Ctl+D键
Ctl+Z
在Windows
中是EOF
。您需要在想要停止时按Ctl+Z
while ((c == getchar()) != EOF) ==> while ((c = getchar()) != EOF)
^^ ^
假设您在Windows上,情况是您基本上必须在行首执行ctrl+Z操作——即,必须先按enter键,然后执行ctrl+Z,然后(取决于读取输入的方式)可能再次输入
您还可以使用F6发出输入结束的信号。至少在大多数情况下,即使没有立即按enter键,它也会工作。是的,正如我所说,它会退出,但它将如何计算选项卡、新行等?您使用的是什么操作系统
Ctrl+Z
在所有系统上都不是EOF
。在UNIX和Mac OS X上,您可以尝试Ctrl+D
。应该是=@nishithjain,是的。谢谢。在Unix中Ctrl-d是EOF(不是gcc)在DOS/Windows中Ctrl-z是EOF。