L.data[++i]=L.data[j];这一句代码是怎么工作的啊

bool Delete_Same(St& L) {
if (L.length == 0)
return false;
int i, j;
for (i = 0, j = 1; j < L.length; j++)
if (L.data[i] != L.data[j])
L.data[++i] = L.data[j];//这一句有点看不懂,有朋友解释一下这一句执行完毕后i的变化吗
L.length = i + 1;
return true;
}

L.data[++i]=L.data[j]这里,执行过程:
(1)++i
(2)L.data[i]=L.data[j]

当++在变量前面的时候,先执行++,然后再执行其他操作。如有帮助,望采纳,谢谢。

img

L.data[++i] = L.data[j];
这句可以拆成两句,一看就明白了:
i = i+1;
L.data[i] = L.data[j];
===================
祝你学习顺利

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632