准备笔试面试的过程中,才发现自己对if、for条件理解的还不是很透彻,现在来说一说吧~直接上代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x = 0,y = 1,temp = 3;
if(!x && !temp++)
{
}
cout<<temp<<endl; //输出4
for(;x && temp++;)
{
}
cout<<temp<<endl; //输出4
for(;!x && !temp++;)
{
temp = 99;
}
cout<<temp<<endl; //5
}
if条件中前一个条件通过,可以继续执行下一个条件,后面一个条件一开始部分没有通过,比如第一个 !temp为0,但是temp++还可以继续执行,所以输出4,但是如果前一个条件没有通过,就不能执行 && 后面的语句了,更不能执行函数里面的语句,可见条件判断中一个条件通过并不会马上终止执行,而是后面的 && 条件语句以及函数体语句不能执行了。