a=5,b=8,c=9;
x=a<b||c++;
我想当然的以为是10。
但是 cout<<c 查看 c 的值,结果却还是9,也就是说 c 的值没有自加。
改成 x=a<b||++c ,结果 c 也是9
为什么c没有自加呢?
这是因为:当使用||条件时,如果第一个条件成立,就会跳过第二个条件判断语句的执行。
本文探讨了C++中使用逻辑或(||)时,如何影响后续表达式的执行,特别是涉及变量自增操作(c++)的情况。通过示例说明了短路逻辑如何阻止某些表达式的计算,解释了为何在特定条件下变量的值不会发生预期的变化。
a=5,b=8,c=9;
x=a<b||c++;
我想当然的以为是10。
但是 cout<<c 查看 c 的值,结果却还是9,也就是说 c 的值没有自加。
改成 x=a<b||++c ,结果 c 也是9
为什么c没有自加呢?
这是因为:当使用||条件时,如果第一个条件成立,就会跳过第二个条件判断语句的执行。

被折叠的 条评论
为什么被折叠?