【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
目录
相关文章
|
1月前
|
存储 程序员 C语言
C语言强制类型转换运算符
C语言强制类型转换运算符
17 1
|
1月前
|
Java 编译器 C语言
【JavaSE】运算符详解及与C语言中的区别
【JavaSE】运算符详解及与C语言中的区别
64 0
|
1月前
|
C语言
如何在C 语言中使用运算符sizeof
如何在C 语言中使用运算符sizeof
20 0
|
23天前
|
C语言
C语言中的条件运算符和条件表达式详解
C语言中的条件运算符和条件表达式详解
39 0
|
16天前
|
C语言
C语言算数运算符和算数表达式详解
C语言算数运算符和算数表达式详解
13 0
|
23天前
|
C语言
C语言中的运算符和表达式
C语言中的运算符和表达式
22 0
|
23天前
|
存储 算法 C语言
深入理解C语言中的间接寻址运算符docx
深入理解C语言中的间接寻址运算符docx
17 0
|
24天前
|
编译器 数据处理 C语言
C语言运算符的深入探究
C语言运算符的深入探究
18 0
|
24天前
|
存储 安全 C语言
C语言强制类型转换运算符
C语言强制类型转换运算符
18 0
|
28天前
|
程序员 编译器 C语言
C语言运算符深入解析
C语言运算符深入解析