if括号里是赋值语句
if语句格式如下。其中,表达式为赋值语句,例子里会表现出来。
if(表达式)语句1;
else 语句2;
1.若表达式等号右侧为0,则不执行语句1
例子:如以下代码(第二行)
int x=-1,d=-1;
if (x = 0) {
d = 1;
}
else d = 0;
cout << "d="<<d;
输出结果:d=0
2.若表达式等号右侧非0,则执行语句1
还是上一个例子,第二行的赋值语句变为“x=2”:
int x=-1,d=-1;
if (x = 2) {
d = 1;
}
else d = 0;
cout <<"d="<< d;
输出结果:d=1
3.无论是否执行语句1,赋值都将进行
这次,我们将x作为输出结果,观察 if 括号里的布尔值是否影响 if 括号里赋值语句的赋值。
分两种情况尝试:
(1)if 括号里赋值为零
int x=-1,d=-1;
if (x = 0) {
d = 1;
}
else d = 0;
cout <<"x="<< x;
输出结果:x=0
(2)if 括号里赋值非零
int x=-1,d=-1;
if (x = 2) {
d = 1;
}
else d = 0;
cout <<"x="<< x;