C语言 表达式计算次序

C语言里,优先级和结合性规则告诉我们哪些符号组成一个意群,同时这些意群内部如何进行计算的次序始终未定义。在表达式:
x = f() + g() * h();
g() 和 h() 组成一个意群进行乘法运算,单两者的调用可能以任何顺序次序出现。同理f()调用,可能在乘法之前,也可能在乘法之后,也可能在g() 和 h()调用之间。唯一可以确定的是乘法在加法之前进行。之所以未定义是想让编译器利用自身架构特点,或者充分利用寄存器中的值。
有专家建议,在C语言里记住 乘法先于加法和减法,涉及其他操作符时一律加上括号,加以明确。

“&&” 和 "||"的计算次序是严格先左后右的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值