优先级:
C语言一共有15个优先级:
括号成员第一; // 括号运算符:(),[ ];成员运算符:->, .
全体单目第二; // 所有的单目运算符比如++ -- +(正) -(负) 指针运算*&
乘除余三,加减四; // 这个"余"是指取余运算即%
移位五,关系六; // 移位运算符:<< >> ,关系:> < >= <= 等
等于(与)不等排第七; //即== !=
位与异或和位或, //这几个都是位运算: 位与(&)异或(^)位或(|)
“三分天下”八九十;
逻辑或和与,十二和十一; //辑运算符:|| 和 &&
条件高于赋值;
逗号运算级最低; //逗号运算符优先级最低
由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的!
结合性:
如果运算符优先级相同,那就得看结合性了,总结如下:
自右至左(一共3个):单目运算符,条件运算符和赋值运算符。
其余的运算符运算方向(即结合方向)都是:自左至右。