作者anoymouse (没有昵称)
看板C_and_CPP
标题Re: [问题] getchar()的使用
时间Tue Nov 29 16:14:16 2016
※ 引述《nokia550298 (美不胜收)》之铭言:
: 各位大大 大家好
: 想请问一下 我在使用getchar() 这个function
: #include<stdio.h>
: 1 main()
: 2 {
: 3 double nc;
: 4 for(nc=0; getchar()!= EOF;++nc)
: 5 {
: 6 printf("HI");
: 7 }
: 8 printf("HELLO");
: 9
: 10 }
: 我看执行的结果 发现执行只有到第7行,"}"
: 後面的旧都没有继续执行下去了
: 怎麽会这样?
弱弱的请教一下,
原文底下回应说getchar会卡住for,虽然知道getchar会等待enter键,但我程式写得少,所以
放在for条件式也可以卡住程式?
因为之前写的小程式不外乎就是条件式递增或递减,没碰过在条件式进行等待的。
另外看Cplusplus.com写到If the standard input was at the end-of-file, the
function returns EOF.请问会发生这情况是不是输入的字串太长长到End of File?
那通常stream buffer多大呢? 找不到类似的资料。
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.216.7.85
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1480407259.A.230.html
※ 编辑: anoymouse (61.216.7.85), 11/29/2016 16:19:37
※ 编辑: anoymouse (61.216.7.85), 11/29/2016 16:35:45
1F:→ pttworld: 可以,尚未比较就卡。回传整数比整数,但卡还没回传。 11/29 18:22
2F:推 LPH66: 观念: getchar() 卡到读到字为止, 要读到字才有东西 11/30 06:54
3F:→ anoymouse: 喔喔 那第二个问题有人知道吗 11/30 09:01
4F:推 EdisonX: EOF 通常是档案,在标准输入里,Ctrl + D / Ctrl + Z 11/30 09:12
6F:→ anoymouse: 喔喔 会错意 谢谢 11/30 15:31