Re: [問題] getchar()的使用

作者: anoymouse (沒有暱稱)   2016-11-29 16:14:16
※ 引述《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多大呢? 找不到類似的資料。
謝謝
作者: pttworld (批踢踢世界)   2016-11-29 18:22:00
可以,尚未比較就卡。回傳整數比整數,但卡還沒回傳。
作者: LPH66 (-6.2598534e+18f)   2016-11-30 06:54:00
觀念: getchar() 卡到讀到字為止, 要讀到字才有東西
作者: anoymouse (沒有暱稱)   2016-11-30 09:01:00
喔喔 那第二個問題有人知道嗎
作者: EdisonX (卡卡獸)   2016-11-30 09:12:00
EOF 通常是檔案,在標準輸入裡,Ctrl + D / Ctrl + Z
作者: Caesar08 (Caesar)   2016-11-30 11:31:00
作者: anoymouse (沒有暱稱)   2016-11-30 15:31:00
喔喔 會錯意 謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com