C语言题目自增在前与在后
一、题目引入
谨记真言:
i的值最终都会改变 只是表达式的值不同
二、分析题目
if判断语句里面要条件为真执行时 printf语句
i++ 变量在前 使用i的当前值是1 i的值就是1与1相等 所以&&左边的为真
但是&&存在 必须前后都为真才为真 所以还要看&&后面的表达式
++j 变量在后 使用自增之后的值 所以j的值是3
||是有真则真 全假才假 所以if语句为真会打印printf里面的语句
因为最后还是要打印出k的值 所以我们还是要算k的值
但是需要注意的一点:||是逻辑或
如果第一个操作数为真 则不会计算第二个操作数(可记为短路)
所以 k++==3不会执行
因此k的值保持不变(仍然是3)