【发布时间】:2018-04-30 20:19:22
【问题描述】:
我正在准备我的 C++ 考试,并且正在做一些过去的论文。然后我偶然发现了这个代码理解任务。我想知道,为什么这个 if 语句中的 value 没有变为 4?
int found = 0, value = 5;
if (!found || --value == 0) {
cout << "danger";
}
cout << "value =" << value << endl;
【问题讨论】:
-
为什么要改成4?
-
我没有读过关于短路评估的文章
-
您的第一个操作 !found 变为 true 并且它没有执行 --value 。了解stackoverflow.com/questions/34492501/…
-
你试过运行这个吗?
value不会更改为 4。
标签: c++ if-statement