当整型变量m=0,n=0时,执行表达式 (m++ != 1 || n++ == 0) && (++m == 2 && n-- == 0) 后,m和n的值是?

答案解析

核心考点:短路逻辑运算符的级联效应与自增顺序。 解题思路分析: 1. 分解表达式为两部分:A=(m++!=1||n++==0) 和 B=(++m==2&&n--==0) 2. 计算A部分: - m++后m=1,判断1!=1→false - ||短路运算符继续计算右边:n++==0→true(此时n=1) - A=true 3. 计算B部分: - ++m使m=2,判断2==2→true - &&继续判断n--==0→此时n=1→false,因此B=false 4. 最终表达式为true&&false→false 5. 但变量变化:m经过两次自增(1→2),n经过自增和自减(1→0) 选项分析: A. 错误,n的自减未体现 B. 正确,m=2(自增两次),n=0-1(因n--的副作用) C. 错误,未考虑第二个自增 D. 错误,m仅自增两次 易错点提醒: - 忽略||运算符右侧仍会执行 - 混淆后自增与先自增的时序差异 - 未正确处理级联逻辑运算符的短路顺序
正确答案:B
随机推荐
开始刷题