C/C++多条件If语句
C/C++ Multiple Condition If Statement
程序如下
if(z = x < y){
x +=3;
y -= 1;
}
else
x = y++;
输入值为x = 7
、y = 7
和z = 2
。输出值为x = 7
、y = 8
和z = 0
。
我不确定这句话是怎么说的。。。有人能帮我吗?
首先评估比较,因为<
的优先级高于=
。比较的结果是false
(即广播到0),则z
被设为0。然后将条件求值为false
,因此执行else
分支,其中首先进行赋值,然后递增y
(请参阅后缀++
运算符的工作原理)。顺便说一句,你永远不应该写这样的代码,但作为z = (x<y)
,所以没有人会感到困惑。接下来是其余部分。
由于x < y
为false,因此可以在if
中用false
替换x < y
。这应该会使代码变得难以理解。
赋值表达式的值就是赋值,因此z = x < y
的值就是x < y
的值(即true或false)。您的代码不使用变量z
,可以简单地写成:
if (x < y) { x += 3; y -= 1; }
else { x = y; ++y; }
图形化操作:
x = 7 ; y = 7 ;
if(z= x < y){ // x = (7 < 7) => z = 0,
x +=3; // Not executed
y -= 1;
}
else
x = y++; // x = 7, y = y + 1 (Y = 8)
相关文章:
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- If语句在c++中被忽略
- 比较if语句中的数组值和int值
- 以在Qt中的IF语句中设置时间延迟
- Craps游戏问题,忽略if语句
- c++:定义if语句中的模板
- C++嵌套的 If 语句中,它无法按预期工作
- 如果条件不相关,我应该更喜欢两个 if 语句而不是 if-else 语句吗?
- 需要有关此 if 语句的帮助
- 转换器练习:跳过 if 语句和 if 语句
- 避免在 C++ 中的 if 语句中递增
- 如果仍然不满足要求,如何使 if 语句重复?
- do while 循环中的 if 语句以 yes 或 no 结尾
- 为什么在此C++代码中触发此 if 语句?
- 如何基于平台在制作文件中制作if语句?
- 在 if 语句中使用 GetKeyState 时,它会跳过条件
- C++ If 语句,从其他语句重复