您的位置:首页 > 其它

运算符结合性与优先级

2011-01-02 21:37 183 查看



1.优先级比较容易理解,涉及到先算谁的问题,用的时候查表即可!

2.结合性是指在一个操作数的两侧如果存在优先级相同的运算符,比如a+b+c;(请记住:优先级相同的运算符一定具有相同的结合性,不信查表看看)。如果是右结合,那么就是a+(b+c);

如果是左结合,那么就是(a+b)+c;

所以结合性仅仅是先给谁加括号的问题,不涉及到先算谁的问题(切记)。

3计算顺序

在k&r第43页有这么一句话:

同大多数语言一样,C语言没有指定同一运算符中多个操作数的计算顺序(&&、||、?:和,运算符外)。

例如,在形如 x = f() + g();的这句语句中,f()可以在g()之前计算,也可以在g()之后计算。

?:的计算顺序是从左到右,而逗号运算符的计算顺序也是从左到右。

还有&&和||的计算顺序也是从左到右,而且它们两个还存在短路现象。

本文摘自http://blog.csdn.net/iceman19860106/archive/2008/10/17/3092634.aspx 原创
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: