【问题标题】:How to exit the character counting program (I'm using dev c++)如何退出字符计数程序(我使用的是dev c++)
【发布时间】:2017-11-04 18:39:52
【问题描述】:

我在运行字符计数程序时遇到问题:

#include<stdio.h>
main()
{
   double nc  ;      
   for( nc = 0; getchar() != EOF; ++nc)
         ;
   printf("%.0f\n", nc) ;
}

我写的和课本上的代码一模一样(c编程 由 Brian W. Kernighan 和 Dennis M. Ritchie 编写的语言第 2 版)并使用 dev c++ 进行编辑和编译

在运行这个程序时,我发现当我输入一个字符串然后按 ENTER 时,它只是转移到下一行,我应该如何告诉机器我的输入终止并退出程序并收到NC?

【问题讨论】:

  • 在 Windows 上,您可以通过键入 control-z 来指示 EOF 来退出程序;在类 UNIX 系统上,您通常使用 control-d,但该字符是可配置的。

标签: c dev-c++


【解决方案1】:

您循环使用键盘输入的字符串。读取 EOF(文件结尾)字符后,您将立即结束循环。在 Unix、Linux、BSD 等系统上,您可以通过按 CONTROL-D 来发出文件结束信号。在 Windows 上,它是 CONTROL-Z。在 Mac 上它应该是 CONTROL-D,因为它接近 BSD Unix。 (但我不确定)。

如果您需要通过按“ENTER”来结束 for 循环,则对 EOL(行尾)的测试可能会有所帮助。

已编辑

for( nc = 0; getchar() != '\n'; ++nc);

【讨论】:

  • @Luis Colorado 谢谢你的提示。
  • @PeterPaulKiefer 你说得对,Mac 接近免费 BSD。
猜你喜欢
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 2020-02-18
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 2016-10-06
相关资源
最近更新 更多