数组下标的前置++和后置++一样吗?

img

img


前置加加和后置加加不是不一样吗?为什么这两个结果一样的?我把a[i++]改为a[i],然后在循环结束i++才得到我想要的结果。麻烦给解答一下。多谢了

如果作为一条单独的代码
i++;
++i;
没什么区别
但是如果用来访问数组的话
a[i++]就是先访问a[i],然后再i=i+1
a[++i]就是先i=i+1,然后再访问a[i]
例如i=0时
a[i++]就是读取a[0]的内容后,i变为1
a[++i]就是i变成1后,读取a[1]的内容

不一样把,i++,先把下标为i的元素取出来然后把i加一
++i则相反

i++ //后加加 原理 先自增 然后返回自增之前的值
++i //前加加 原理 先自增 然后返回自增之后的值

一句话 如果++在后   变量先使用再加
            如果++在前   变量先加再使用