【C语言】C语言运算符优先级存在的问题

简介: 【C语言】C语言运算符优先级存在的问题
优先级问题 表达式 人们可能误认为的结果 实际结果
.的优先级高于*;->操作符用于消除这个问题 *p.f p所指对象的字段f (*p).f 对p取f偏移,作为指针,然后进行解除引用操作*(p.f)
[]高于* int *ap[] ap是指向int数组的指针 int(*ap)[] ap是个元素为int指针的数组 int *(ap[])
函数()高于* int *fp() fp 是个函数指针,所指函数返回 int;int (*fp)() fp 是个函数,返回 int*
== 和 != 高于位操作符 (var & mask != 0) (val & mask != 0) var & (mask != 0)
== 和 != 高于赋值符 c = getchar() != EOF (c = getchar()) != EOD c = (getchar() != EOF)
算术运算高于移位运算符 msb << 4 + lsb (msb << 4) + lsb msb << (4 + lsb)
逗号运算符在所有运算符中优先级最低 i = 1, 2 i = (1, 2) (i = 1), 2
目录
相关文章
|
2月前
|
Java 编译器 C语言
【JavaSE】运算符详解及与C语言中的区别
【JavaSE】运算符详解及与C语言中的区别
51 0
|
2月前
|
存储 程序员 C语言
C语言强制类型转换运算符
C语言强制类型转换运算符
13 1
|
2月前
|
C语言
如何在C 语言中使用运算符sizeof
如何在C 语言中使用运算符sizeof
12 0
|
2月前
|
算法 安全 C语言
C语言中的位操作运算符有什么作用
C语言中的位操作运算符有什么作用
18 0
C4.
|
2月前
|
C语言
C语言的运算符
C语言的运算符
C4.
10 0
|
2月前
|
C语言
C语言运算符
C语言运算符
12 0
|
2月前
|
存储 编译器 程序员
C语言的模型玩具:结构体的使用以及操作符优先级
C语言的模型玩具:结构体的使用以及操作符优先级
|
2月前
|
C语言
C语言运算符
C语言运算符
|
27天前
|
程序员 C语言
【C语言】C语言运算符优先级详解
【C语言】C语言运算符优先级详解
|
2月前
|
C语言
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
23 0