C语言每日一题

1.题目

2.分析

这里考察的是运算符运算规则的问题,

影响运算符求值顺序的主要是运算符的优先级结合性

  • 优先级:主要是不同优先级运算符之间的运算规则

  • 结合性:主要是优先级相同时运算符需要遵守的运算规则

    本题中的表达式,有以下4种运算符,它们是具有不同优先级的运算符 ,因此这里只需考虑优先级,无需考虑结合性

    • 复合赋值运算符 +=
    • 关系运算符 >
    • 条件运算符 ? :
    • 自增运算符 ++

    优先级从高到低:自增运算符、关系运算符、条件运算符、赋值运算符

因此求值顺序应该是

  • 第一步,是判断x>y(注:若这里的++为后置++,则先进行x++或y++)
  • 第二步,因为x>y为假,所以进行++y操作,即3
  • 第三步,是复合赋值运算 += ,即z += 3,z = z + 3,

最后得出 z = 6

相关推荐
c++逐梦人6 小时前
C++11——— 包装器
开发语言·c++
zihao_tom6 小时前
Go环境搭建(vscode调试)
开发语言·vscode·golang
IT方大同6 小时前
(实时操作系统)线程管理
c语言·开发语言·嵌入式硬件
阿kun要赚马内6 小时前
Python面向对象:@property装饰器
开发语言·前端·python
sunwenjian8866 小时前
Java进阶--IO流
java·开发语言
wildlily84277 小时前
C++ Primer 第5版章节题 第十三章(二)
开发语言·c++
意法半导体STM327 小时前
【官方原创】STM32H7双核芯片通过 STlink连接失败问题分析 LAT1654
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
深蓝海拓7 小时前
使用@property将类方法包装为属性
开发语言·python
xiaoye-duck7 小时前
【C++:unordered_set和unordered_map】 深度解析:使用、差异、性能与场景选择
开发语言·c++·stl
zjjsctcdl7 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql