什么时候增量操作恰好发生在x ++上?

时间:2019-04-16 16:19:38

标签: c operators

我知道x ++是指帖子增量。它首先使用原始值,然后求助于增量值。

但是什么时候真正发生呢? 当执行代码中的下一个立即行时,会发生这种情况吗? 一次返回原始值会发生这种情况吗?

1 个答案:

答案 0 :(得分:3)

它发生在序列点之间。

除此之外,它的发生时间不确定。

想象一下

x = y = z = 42
; // sequence point A
n = x++ + y++ + z++
; // sequence point B

随后点A x,y和z均为42;在序列点B,它们都是43。您所关心的是,编译器可以发出代码以同时更新所有3个变量。

// pseudo code
n = 126;
[vector increment][x,y,z];
//n = 126;