优先级 | 运算符 | 描述 | 结合性 |
---|---|---|---|
1 | ++ – () [] . -> (tppe){list} | 自增 自减 函数调用 数组下标 结构体与联合体成员访问 结构体与联合体成员通过指针访问 复合字面量(c99) | 从左到右 |
2 | ++ – + - ! ~ (type) * & sizof _Alignof | 自增 自减 加 减 逻辑非 按位非 强制转化类型 指针操作,间接运算符 取地址 取大小 对齐要求 | 从右到左 |
3 | * / % | 乘 除 取余 | 从左到右 |
4 | + - | 加 减 | 从左到右 |
5 | << >> | 按位左移 按位右移 | 从左到右 |
6 | < <= > >= | 小于 小于等于 大于 大于等用 | 从左到右 |
7 | == != | 等于 不等于 | 从左到右 |
8 | & | 按位与 | 从左到右 |
9 | ^ | 按位异或 | 从左到右 |
10 | | | 按位或 | 从左到右 |
11 | && | 与 | 从左到右 |
12 | || | 或 | 从左到右 |
13 | ?: | 三元条件 | 从右到左 |
14 | = += -= *= /= %= <<= >>= &= ^= |= | 赋值 以和赋值 以差赋值 以乘积赋值 以商赋值 以余数赋值 以按位左移赋值 以按位右移赋值 按位与赋值 按异或赋值 按位或赋值 | 从右到左 |
15 | , | 逗号 | 从左到右 |