[問題] bool變數出while迴圈之後消失了?

作者: ericliu8168 (Eric)   2023-10-21 11:33:54
開發平台(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;
}
先謝謝了!
作者: nh60211as   2023-10-21 11:45:00
你是怎麼輸入 EOF 的?感覺是你的程式還卡在迴圈裡你這樣不可能輸入 EOF,你按 enter 之後 scanf 就會繼續等你的輸入
作者: Richun (解放左手的OO之力)   2023-10-21 12:13:00
我建議你還是弄個terminal編譯執行,那網站我不知道怎麼丟EOF訊號進去,你的程式在輸出後再打數字進去一樣在跑,所以它並沒有出迴圈。scanf卡住等你輸入才讓你以為程式結束
作者: dieter820 (愛人不知)   2023-10-24 08:55:00
EOF 可以用 ctrl+z 輸入抱歉,沒看清楚你在online compiler上執行

Links booklink

Contact Us: admin [ a t ] ucptt.com