看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): Programiz C Online Compiler 問題(Question): 如下程式碼,boolean variable flag出while迴圈就消失了,有人知道原因嗎? 餵入的資料(Input): 2 (隨便輸入的數字) 預期的正確結果(Expected Output): 2 The internal boolean variable is 1 The external boolean variable is 1 錯誤結果(Wrong Output): 2 The internal boolean variable is 1 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) #include <stdio.h> #include <stdbool.h> int main() { bool flag = true; int digit; while (scanf("%d", &digit) != EOF) { printf("The internal boolean variable is %d\n", flag); } printf("The external boolean variable is %d\n", flag); return 0; } 先謝謝了! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.252.113 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1697859236.A.865.html
nh60211as: 你是怎麼輸入 EOF 的?感覺是你的程式還卡在迴圈裡 10/21 11:45
就是數字+空白鍵+ENTER,例如以下輸入 2 2 會得到以下輸出: The internal boolean variable is 1 The internal boolean variable is 1 如果卡在迴圈裡面不是應該會一直印The internal boolean variable is 1嗎? 謝謝QQ ※ 編輯: ericliu8168 (1.165.252.113 臺灣), 10/21/2023 12:06:52
nh60211as: 你這樣不可能輸入 EOF,你按 enter 之後 scanf 就會 10/21 12:11
nh60211as: 繼續等你的輸入 10/21 12:11
Richun: 我建議你還是弄個terminal編譯執行,那網站我不知道怎麼丟 10/21 12:13
Richun: EOF訊號進去,你的程式在輸出後再打數字進去一樣在跑,所 10/21 12:14
Richun: 以它並沒有出迴圈。scanf卡住等你輸入才讓你以為程式結束 10/21 12:15
謝謝樓上 nh60211asRichun 2位帥哥 我剛剛開另一個ideone編譯器,結果能得到預期結果了 非常感謝QQ ※ 編輯: ericliu8168 (1.165.252.113 臺灣), 10/21/2023 12:21:52
dieter820: EOF 可以用 ctrl+z 輸入 10/24 08:55
dieter820: 抱歉,沒看清楚你在online compiler上執行 10/24 08:57