差值为n/= 10和n = n/10

aka*_*090 3 c microcontroller

执行速度n/=10n=n/10执行速度之间有什么区别吗?

就像n----n在他们的执行速度明智也有不同...

Lig*_*ica 5

不,不是真的:

[C99: 6.5.16.2/3]:表单的复合赋值E1 op= E2与简单赋值表达式的不同之处E1 = E1 op (E2)仅在于左值E1仅计算一次.

因此,只有当你n是一个带有副作用的非平凡表达式(例如函数调用)时,这才会产生影响.

否则,我认为理论上会涉及一个中间临时变量,但是你必须非常不幸,因为这样的临时变量在你编译的可执行文件中实际存活.您不会发现这两种方法之间存在任何性能差异.

使用基准确认,并比较生成的装配.