设有整型变量x=5,y=10,z=3,执行表达式 (x++ > 5 & y-- < 15) || (++z == 4) 后,x、y、z的值分别是多少?

答案解析

核心考点:短路逻辑运算符与位运算符的区别,以及自增操作的时序。 解题思路分析: 1. &运算符不会短路,无论左操作数结果如何都会执行右操作数 2. 表达式可分为两部分:(x++ >5 & y--<15) 和 (++z==4) 3. 计算第一个子表达式:x++(后自增)值为5,5>5为false;但&运算符仍需计算y--<15 → y=9,此时第一个子表达式结果为false & true → false 4. ||运算符需要继续计算右操作数:++z使z=4,判断4==4为true 5. 最终x自增为6,y自减为9,z自增为4 选项分析: A. 错误,未考虑y的自减和z的自增 B. 错误,正确计算了y但遗漏z的自增 C. 正确,符合所有运算步骤结果 D. 错误,未考虑y的自减和z的自增 易错点提醒: - 混淆&与&&的行为差异 - 后自增/自减的取值时机 - 忽略非短路运算符的强制求值特性
正确答案:C
随机推荐
开始刷题