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]
当++在变量前面的时候,先执行++,然后再执行其他操作。如有帮助,望采纳,谢谢。
L.data[++i] = L.data[j];
这句可以拆成两句,一看就明白了:
i = i+1;
L.data[i] = L.data[j];
===================
祝你学习顺利