C语言中运算顺序好多啊。。谁帮忙总结一下

来源:百度知道 编辑:UC知道 时间:2024/07/05 12:57:43
什么由左至右,由右至左。啥时候左啥时候右。采纳后还会高分奖励。谢谢,一定要全

谭浩强C语言书附录里面很详细:
除了单目运算符、条件、赋值这三种运算符的结合性是从右向左,其他都是从左向右
优先级的顺序(从高到低):
括号下标结构体() [] -> .
非反增减负类型! ~ ++ -- - (类型)
指针地址与长度 * & sizeof
算术移位关系 * / % + - >> << == >= <= > <
位与异或或与或 & ^ | || &&
条件赋值逗号 ?: = += -+ >>= <<= ,

C语言的某位标准制定者曾经建议过:只要记住括号优先,乘除先于加减这两条准则就行了.优秀的程序员是不会写过于复杂,让人难以读懂的表达式的

http://www.slyar.com/blog/c-operator-priority.html

运算符 结合方式

() [] -> . 由左向右
! ~ ++ -- + - * & (类型) sizeof 由右向左
* / % 由左向右
+ - 由左向右
<< >> 由左向右
< <= >= >