表达式求值的顺序有三个影响的因素:
1、操作符的优先级。
2、操作符的结合性。
3、是否控制求值顺序。
两个相邻的操作符先执行那个? 取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。
注意:我们写出的表达式如果不能通过操作符的属性确定唯一的计算路径,那么这个表达式就是有问题的。
算术转换
如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则操作就无法进行。
long double
double
float
unsigned long int
long int
unsigned int
int
如果某个操作数的类型在上面这个列表中排名较低,那么首先要转换为另一个操作数的类型后再执行运算。