像这样写,输出的数组值仍然跟原来的数组一样,因为老数组被去除掉0之后就没有值赋给新数组,那么新数组那个位置的值就是初始值0,所以变来变去还是跟原来一样。
所以新的数组需要新的索引值,这样才能跟老数组的索引值错位。
i = 0,j=0,第0号老数组值给新数组。
i = 1,j=1,第1号老数组值给新数组。
.......
i = 4,老数组元素为0,就不会执行if的代码,所以j=3,老数组中的元素就不会赋值给新数组,就继续往后遍历。
i = 5,老数组元素为0,就不会执行if的代码,所以还是j=3,老数组中的元素就不会赋值给新数组,就继续往后遍历。
i = 6,老数组元素为6,会执行if的代码,所以j=3+1,老数组中的第6个元素赋值给了新数组第4个元素,就继续往后遍历。
得到新数组,然后把新数组前j位复制给新数组。后面大于j的位置都是0.没有元素就是初始值0.
最后得到结果。