You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行《The C Programming Language》中C程序无法退出循环,求原因与解决方法

循环无法退出的原因及解决办法

你用的是K&R《C程序设计语言》里的经典输入处理程序,核心逻辑应该是用while (getchar() != EOF)来持续读取输入。没法退出循环的关键是你没触发正确的EOF(文件结束符):

  • 如果你用的是Windows系统:得在新行开头按 Ctrl + Z,再敲回车,才能触发EOF信号让循环终止。
  • 如果你用的是Unix/Linux/macOS系统:直接按 Ctrl + D 就能触发EOF。

额外提一句:要是你先输入了内容再按EOF快捷键,可能得多按一次——因为输入缓冲区里还剩着没处理的字符,得等这些字符都被读取完,再触发EOF才会生效。

本质上,getchar() 是从标准输入流读字符,只有读到EOF信号才会结束循环,而这个EOF不是普通字符,得用系统对应的快捷键来触发。

内容的提问来源于stack exchange,提问作者saul_foodman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:27:48