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

看板C_and_CPP作者 (沒有暱稱)時間7年前 (2016/11/29 16:14), 7年前編輯推噓2(204)
留言6則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《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://www.ptt.cc/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

11/29 18:22, , 1F
可以,尚未比較就卡。回傳整數比整數,但卡還沒回傳。
11/29 18:22, 1F

11/30 06:54, , 2F
觀念: getchar() 卡到讀到字為止, 要讀到字才有東西
11/30 06:54, 2F

11/30 09:01, , 3F
喔喔 那第二個問題有人知道嗎
11/30 09:01, 3F

11/30 09:12, , 4F
EOF 通常是檔案,在標準輸入裡,Ctrl + D / Ctrl + Z
11/30 09:12, 4F

11/30 11:31, , 5F
11/30 11:31, 5F

11/30 15:31, , 6F
喔喔 會錯意 謝謝
11/30 15:31, 6F
文章代碼(AID): #1OFJZR8m (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1OFJZR8m (C_and_CPP)