1.题目
2.分析
这里考察的是运算符运算规则的问题,
影响运算符求值顺序的主要是运算符的优先级和结合性。
-
优先级:主要是不同优先级运算符之间的运算规则
-
结合性:主要是优先级相同时运算符需要遵守的运算规则
本题中的表达式,有以下4种运算符,它们是具有不同优先级的运算符,因此这里只需考虑优先级,无需考虑结合性
- 复合赋值运算符 +=
- 关系运算符 >
- 条件运算符 ? :
- 增强运算符 ++
优先级从高到低:增强运算符、关系运算符、条件运算符、赋值运算符
因此求值顺序应该是
- 第一步,同时求++x和++y
求得表达式++x为2,且x变为2;表达式++y为3,且y变为3- 第二步,是判断x>y(注意:此时的x和y已经是进行过第一步后的x和y值)
即2 > 3- 第三步,是条件运算
因为2 > 3是F,因此条件表达式的值为++y,即3- 第四步,是复合赋值运算 +=
即z += 3,z = z + 3,
最后得出 z = 6
标签:优先级,运算,++,每日,C语言,运算符,表达式,赋值 From: https://blog.csdn.net/2302_80713883/article/details/137212593