【发布时间】:2015-07-19 01:10:58
【问题描述】:
有人可以解释一下array[++index] 和array[index++] 吗?
我正在阅读一本数据结构的书,似乎这种表示法确实有区别。
【问题讨论】:
有人可以解释一下array[++index] 和array[index++] 吗?
我正在阅读一本数据结构的书,似乎这种表示法确实有区别。
【问题讨论】:
array[++index] 将首先将变量 index 加 1,然后为您提供值;array[index++] 将在 index 处为您提供值,然后增加 index。
【讨论】:
array[++index] - 递增到当前语句本身的变量索引。 array[index++] - 执行当前语句后递增到变量索引。
【讨论】:
++index 会将索引增加 1在使用之前。因此,如果 index = 0,则 arry[++index] 与 arry[1] 相同。
index++ 在使用后会将索引增加 1。因此,如果 index = 0,则 arry[index++] 与 arry[0] 相同。在此之后,索引将为 1。
【讨论】:
不同的行为并非特定于数组。
两个运算符都将index 加一。
++index 返回index+1 而index++ 返回index 的原始值。
因此,当用于访问数组元素时,这两个运算符将给出不同的索引。
【讨论】:
预增量运算符 (++index) 首先递增变量,然后才返回其值。所以var = array[++index]相当于:
index += 1;
var = array[index];
后自增运算符 (index++) 首先返回变量的值,然后才递增其值。所以var = array[index++] 相当于:
var = array[index];
index += 1;
【讨论】:
假设索引为 0
array[++index] 给你元素 1,然后索引是 1
array[index++] 给你元素 0,然后索引是 1
【讨论】: