c语言运算符优先级

单目的不是比*/高吗? 5+1/2=5为什么啊?不是+的优先级高吗?那应该是5+1=6 6/2=3才对啊!

一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
就这么多吧 结合性:2 13 14 是从右至左 其他都是 从左至右

括号成员第一; //括号运算符[]() 成员运算符. ->
全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%
移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等
等于(与)不等排第七; //即== 和!=
位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)
"三分天下"八九十;
逻辑或跟与; //逻辑运算符:|| 和 &&
十二和十一; //注意顺序:优先级(||) 低于 优先级(&&)
条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低! //逗号运算符优先级最低

详见:http://www.slyar.com/blog/c-operator-priority.html
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-07
第2个回答  2014-10-06
怎么可能有单目运算?5+1=6这明显是一个双目运算,所以还是先算*/追问

不明白,,可不可以给我讲讲,什么是单目运算什么是双目运算!

追答

单目运算符是指运算时只有一个数参与运算,比如+(正号)、-(负号)、--(自减1)、++(自加1)等等;
双目运算符是指运算时有两个数参与运算,比如+(加号)、-(减号)、*(乘号)、/(除号)等。

本回答被提问者采纳
相似回答