伊莉討論區

標題: 一個關於在while裡面使用EOF的問題 [打印本頁]

作者: 61611925    時間: 2011-12-26 07:13 AM     標題: 一個關於在while裡面使用EOF的問題

[attach]67898914[/attach]
這是我再別的地方看到的一個簡單的程式
用途是是要計算有多少char
現在問題來了
在while裡面的EOF裡面有什麼功能啊
我大概知道是指文件結束的時候
但是我試過執行了一次
發現根本沒有辦法結束getchar()
有誰可以教我這一個程式的正確用法嗎
作者: 61611925    時間: 2011-12-26 07:15 AM

還有請教大家
要怎麼在發表文章的時候
把code的內容也寫進去
而不是以附件上傳的模式
我是了好幾次
他都說婐發的內容是敏感性內容
作者: goodbye_mylove    時間: 2011-12-26 11:15 AM

回復 2# 61611925

去版規裡看,裡面有連結提到敏感性內容,
或直接使用版規裡之免費貼 code 空間。
作者: 刃丑    時間: 2011-12-27 12:35 AM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: deikhoong    時間: 2011-12-27 01:44 AM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: 61611925    時間: 2011-12-27 04:38 AM

好像不行耶
我按了ctrl+z+Enter之後他輸入的內容變成^Z了
可是還是沒有辦法停止耶
作者: kaworucloud    時間: 2011-12-27 10:06 AM

請先將你的程式碼以附件之外的方式呈現吧
作者: deikhoong    時間: 2011-12-27 10:35 AM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: 61611925    時間: 2011-12-27 12:35 PM

我來試試看
還不確定要怎麼用就是了
作者: 刃丑    時間: 2011-12-27 01:51 PM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: yp7346    時間: 2011-12-29 11:37 PM

OS: Linux
===
  1. #include <stdio.h>

  2. int main(int argc, char **argv)
  3. {
  4.     long nc;
  5.     nc = 0;
  6.     while (getchar() != EOF)  /// Linux: Ctrl-D twice
  7.         ++nc;
  8.     print f("\n nc=%ld\n", nc);
  9.     ///system("pause");   
  10.     return 0;
  11. }
複製代碼
===
  1. $ gcc a.c -Wall
  2. $ ./a.out
  3. 1234567890  (Ctrl-D)(Ctrl-D)
  4. nc=10
  5. $ ./a.out
  6. 123 (Enter)
  7. (Ctrl-D)
  8. nc=4
複製代碼





歡迎光臨 伊莉討論區 (http://a401.file-static.com/) Powered by Discuz!