【发布时间】:2024-01-11 21:34:01
【问题描述】:
我对编程世界还很陌生,我的学校作业是创建一个包含 if 循环的简单程序。 基本上,如果 a 大于 18,我希望我的代码返回 true,如果 a 小于 18,我希望我的代码返回 false大于 18。我还希望 a 每次 canTakeRoadtest 返回 false 时增加一。当我运行我的代码时,我得到的只是
“我 0 岁。
我可以参加路考。 0"
我想知道为什么 bool canTakeRoadtest 返回一个整数,以及为什么 a 没有递增。任何帮助将不胜感激,对于这个简单的问题,我深表歉意,但我们都从某个地方开始!
如果有什么不同的话,我的编码环境是 Eclipse Neon。
#include <iostream>
using namespace std;
int main() {
//Local Variables
int a = 0;
bool canTakeRoadtest = false;
//If Loop
if (a >= 18) {
canTakeRoadtest = true;
cout << "I'm ready!\n";
} else {
canTakeRoadtest = false;
cout << "I am " << a << " years old.\n";
cout << "I can take my road test. " << canTakeRoadtest << endl;
a++;
}
//return 0;
}
【问题讨论】:
-
在底层,布尔值是整数。 0 为假,其他为真。使用循环来增加年龄,直到您达到 18 岁。
-
@Tarik 不正确;例如一些实现只允许将
0x01作为true的表示形式 -
@M.M 这是符合语言规范的标准行为吗?
-
@Tarik 语言规范没有说明编译器如何在后台表示布尔值。不同的编译器可以做不同的事情
-
“如果循环”?你的意思是“如果阻止”?