[问题] 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