作者ericliu8168 (Eric)
看板C_and_CPP
标题[问题] bool变数出while回圈之後消失了?
时间Sat Oct 21 11:33:54 2023
开发平台(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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1697859236.A.865.html
1F:→ 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
2F:→ nh60211as: 你这样不可能输入 EOF,你按 enter 之後 scanf 就会 10/21 12:11
3F:→ nh60211as: 继续等你的输入 10/21 12:11
4F:→ Richun: 我建议你还是弄个terminal编译执行,那网站我不知道怎麽丢 10/21 12:13
5F:→ Richun: EOF讯号进去,你的程式在输出後再打数字进去一样在跑,所 10/21 12:14
6F:→ Richun: 以它并没有出回圈。scanf卡住等你输入才让你以为程式结束 10/21 12:15
谢谢楼上
nh60211as 及
Richun 2位帅哥
我刚刚开另一个ideone编译器,结果能得到预期结果了
非常感谢QQ
※ 编辑: ericliu8168 (1.165.252.113 台湾), 10/21/2023 12:21:52
7F:→ dieter820: EOF 可以用 ctrl+z 输入 10/24 08:55
8F:→ dieter820: 抱歉,没看清楚你在online compiler上执行 10/24 08:57