C语言每日一题

1.题目

2.分析

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

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

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

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

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

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

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

因此求值顺序应该是

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

最后得出 z = 6

相关推荐
邹诗钰-电子信息工程26 分钟前
嵌入式自学第二十一天(5.14)
java·开发语言·算法
恋猫de小郭1 小时前
如何查看项目是否支持最新 Android 16K Page Size 一文汇总
android·开发语言·javascript·kotlin
小_楠_天_问1 小时前
第二课:ESP32 使用 PWM 渐变控制——实现模拟呼吸灯或音调变化
c语言·嵌入式硬件·mcu·esp32·arduino·pwm·esp32-s3
秋山落叶万岭花开ღ1 小时前
C语言顺序表应用详解:从理论到实践
c语言
于壮士hoho1 小时前
Python | Dashboard制作
开发语言·python
2301_803554522 小时前
c++和c的不同
java·c语言·c++
小狗祈祷诗2 小时前
day20-线性表(链表II)
c语言·数据结构·链表
Asus.Blogs2 小时前
为什么go语言中返回的指针类型,不需要用*取值(解引用),就可以直接赋值呢?
开发语言·后端·golang
青瓦梦滋3 小时前
【语法】C++的多态
开发语言·c++
白露秋483 小时前
C——五子棋小游戏
c语言·游戏