【发布时间】:2015-12-16 13:39:23
【问题描述】:
如果你有以下代码:
j=3; // Line 1
i=6; // Line 2
i+=5; // Line 3
j=i--; // Line 4
...据我所知,j 的值将变为 6。如果是 --i,则为 5,以此类推。
但是如果我在第 4 行之后打印出 i 的值,我会得到 10 而不是第 3 行的 11。
为什么会这样?这是否意味着如果我将i 声明为一个数字,然后我返回代码并将另一个变量设置为i--,在代码中的大部分i's 之前,它会全局更改i 的值?
【问题讨论】:
-
"但是如果我在第 4 行之后打印出 i 的值,我会得到 10 而不是第 3 行中的 11。为什么会发生这种情况?"因为第 4 行将值减 1。
-
@WalterM - 最好不要链接为重复的不同语言。
-
@WalterM:那个重复是一种不同的语言,由于顺序考虑,操作符的细微差别会有所不同。
-
这是C equivalent。虽然我不明白这是如何重复的。操作员似乎甚至不知道
i--开始做什么。
标签: c postfix-operator