c++基础问题,具体见图

img

img


第一道题目我是认为a的值不变的,然后b是算出来的,第二道题目三个变量的值又是怎么变的呢,我搞不太清楚

这是因为逻辑运算&&和||的短路特性。
逻辑运算的工作原理是:

表达式A && 表达式B :
如果A的值为假就返回A的值并且不执行表达式B,否则执行表达式B并且返回B的值

表达式A || 表达式B :
如果A的值为真就返回A的值并且不执行表达式B,否则执行表达式B并且返回B的值