c/c++语言开发共享Mac终端上的CTRL-D输出D字符

我在mac OS X机器终端上运行这个例子(来自Kernighan和Ritchie的C书第1.5.2节):

#include  int main() { int c, nl; nl = 0; while((c = getchar()) != EOF) if(c == 'n') ++nl; printf("%dn", nl); } 

我运行应用程序并立即输入EOF字符CTRL-D 。 程序输出0D并终止。 0是预期的输出,但额外的’D’来自哪里?

我看到了这个线程和这个常见问题 ,但找不到答案。

    我打赌终端显示^D (正常的插入符号)并将光标留在插入符号上,然后你的程序打印0n因为nl是0覆盖插入符号。

    在最终printf之前添加sleep(5)应该确认这一点。

      以上就是c/c++开发分享Mac终端上的CTRL-D输出D字符相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/544646.html

      (0)
      上一篇 2021年1月9日
      下一篇 2021年1月9日

      精彩推荐