0

在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 == ' ')
        ++nb; 
      }   
  printf("%d %d %d\n", nl, nt, nb);

}

按 Ctrl + C 只会退出它。

4

2 回答 2

2

Ctl+DEOF在.UNIX based systems你需要在你想停止时按 ctl+ D

Ctl+ZEOF在. 中,您需要在想要停止时Windows按 ctl+z。

while ((c == getchar()) != EOF) ==> while ((c = getchar()) != EOF)   
          ^^                                  ^  
于 2013-09-03T09:03:50.473 回答
0

假设你在 Windows 上,情况是你基本上必须在一行的开头做ctrl+ Z- 即你必须先 hit enter,然后做ctrl+ Z,然后(取决于输入的读取方式)可能enter再次。

您还可以使用F6来表示输入结束。至少在大多数情况下,即使/如果它没有立即跟在enter.

于 2013-09-03T10:58:10.660 回答