您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言运算符的优先级总能保证是“自左至右”或“自右至左”的顺序吗

时间:12-30来源:作者:点击数:

对这个问题的简单回答是:这两种顺序都无法保证。C语言并不总是自左至右或自右至左求值,一般说来,它首先求函数值,其次求复杂表达式的值,最后求简单表达式的值。

此外,为了进一步优化代码,目前流行的大多数C编译程序常常会改变表达式的求值顺序。因此,你应该用括号明确地指定运算符的优先级。例如,请看下述表达式:
    a=b+c/d/function—call() * 5

上述表达式的求值顺序非常模糊,你很可能得不到所要的结果,因此,你最好明确地指定运算符的优先级:
    a=b+(((c/d)/function—call())* 5)

这样,就能确保表达式被正确求值,而且编译程序不会为了优化代码而重新安排运算符的优先级了。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门