关于循环的问题

lanting918 2003-03-06 12:28:14
如下的循环应该如何退出
while((c = getchar()) != EOF)
putchar(c);

...全文
17 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
x2jack 2003-03-08
  • 打赏
  • 举报
回复
在dos写 ctrl+z 在unix 下ctrl+c
LWZZZ 2003-03-08
  • 打赏
  • 举报
回复
在TC中,EOF是在stdio.h中定义的符号常量,值为-1
你这段程序循环控制条件要求哪个输入字符的ASCII码等于-1才能退出...
难就难在你用的输入函数是getchar()---它只能接受输入的第一个字符,
而键盘上好像没有哪个键的值为-1,这个程序你自己想的吧?
sea_lover 2003-03-08
  • 打赏
  • 举报
回复
正象上面的兄弟说的
lanting918 2003-03-08
  • 打赏
  • 举报
回复
多谢各位了
zhaoyangsgg 2003-03-08
  • 打赏
  • 举报
回复
EOF通常的值为-1用作标记值!
EOF也可代表组合键,但是这个组合键和你所用的系统有关,不同的系统组合键不同。
在UNIX系统和许多其它的系统用<return><ctrl-d>表示!!
在微软的MSDOS中是<ctrl-z>表示!!
lanting918 2003-03-08
  • 打赏
  • 举报
回复
我是看的清华大学出的影印版的英文原版上的原代码
是Brian W.Kernighan&Dennis M.Ritchie写的书
WeltactXp 2003-03-08
  • 打赏
  • 举报
回复
应该是说,是可以不一样的,刚好windows跟unix就不一样
WeltactXp 2003-03-08
  • 打赏
  • 举报
回复
回复人: dskra(绿青虫) ( ) 信誉:100 2003-03-07 10:11:00 得分:0


window ctrl+c
unix ctrl+D
linux ctrl+d


对,跟操作系统有关,不同操作系统定义的EOF是不一样的
WindMindy 2003-03-08
  • 打赏
  • 举报
回复
如果用VC++进行编译的话,得到的EOF应该是ctrl+c.
bm1408 2003-03-08
  • 打赏
  • 举报
回复
关机!
呵呵!
当然是CTRL+BREAK!
yzb1000 2003-03-08
  • 打赏
  • 举报
回复
我在TC2.0,WINXP下实验,CTL+C 退出,CTL+Z,之后ENTER也会退出.
alan118 2003-03-07
  • 打赏
  • 举报
回复
EOF是文件结束标志
luckyum 2003-03-07
  • 打赏
  • 举报
回复
window ctrl+c
unix ctrl+D
linux ctrl+d
windcsn 2003-03-07
  • 打赏
  • 举报
回复
ctrl+c
lanting918 2003-03-07
  • 打赏
  • 举报
回复
EOF在tc的lib里是-1
我要的是正常的退出
按resert有什么用?
我按遍了键盘上的键都不行
JoshuaLi 2003-03-06
  • 打赏
  • 举报
回复
F6, Ctrl+Z,
还有Ctrl+C适合很多情况
hddhddhdd 2003-03-06
  • 打赏
  • 举报
回复
Ctrl+Z
SharpKing515 2003-03-06
  • 打赏
  • 举报
回复
不过这得看你的EOF是个什么样的值了!
SharpKing515 2003-03-06
  • 打赏
  • 举报
回复
输入一个使这个条件不成立的值不就OK了??
litt 2003-03-06
  • 打赏
  • 举报
回复
当键入字符的值等于EOF退出,
至于EOF应该是一个宏,或是个常量。
加载更多回复(2)

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧