括号能否强制改变计算顺序

本文探讨了函数调用在表达式中的计算顺序,解释了为什么不能仅凭数学运算优先级判断函数调用顺序,并介绍了如何通过使用临时变量和独立语句来确保计算顺序。同时,文章还详细讲解了逻辑运算符&&和||的短路特性,以及它们如何影响表达式的计算流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般来讲,不行。
f() + g() * h()
尽管我们知道乘法运算在加法之前, 但这并不能说明这三个函数哪个会被首先调用。如果你需要确保子表达式的计算顺序, 你可能需要使用明确的临时变量和独立的语句。
但是有一个比较特殊的地方,就是对于&&和||来说,他们只需要检测自己运算符的左边如果已经能决定结果,那么他们就不会再计算右边的表达式。&&对应于假,||对应于真。
比如

bool a = True;
if(a == false && b == 10)
{
	···xxx···
}

此时,b == 10就不会被执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值