我正在努力完成我的C++考试,而且我正在做一些过去的论文.然后我对这段代码理解任务进行了标记.我想知道,为什么在这个if语句中没有值变为4?
int found = 0, value = 5;
if (!found || --value == 0) {
cout << "danger";
}
cout << "value =" << value << endl;
Run Code Online (Sandbox Code Playgroud)
小智 8
if (!found || --value == 0)
Run Code Online (Sandbox Code Playgroud)
在逻辑OR运算中,如果满足第一个条件,则它不会评估第二个条件.这!found是TRUE,它不会执行,--value因此它的值为5.