C语言每日一题

1.题目

2.分析

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

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

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

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

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

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

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

因此求值顺序应该是

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

最后得出 z = 6

相关推荐
xskukuku4 分钟前
使用VSCode配置C语言运行环境
c语言·ide·vscode
想吃火锅10052 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
专注VB编程开发20年3 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
cfm_29143 小时前
JVM GC垃圾回收初步了解
java·开发语言·jvm
~小先生~3 小时前
Python从入门到放弃(一)
开发语言·python
许彰午3 小时前
17_synchronized关键字深度解析
java·开发语言
z落落3 小时前
C# 泛型接口和泛型类+泛型约束
开发语言·c#
阿正的梦工坊4 小时前
【Rust】02-变量、不可变性与基础类型
开发语言·后端·rust
阿正的梦工坊4 小时前
【Rust】08-集合类型、字符串与迭代器入门
开发语言·rust·c#
FuckPatience4 小时前
C# 使用泛型协变将派生类类型替换为基类类型
开发语言·c#