一个关于c++数组的问题?

怎么把数组中没有赋值的元素(0)剔除掉。
例如:

int a[100]={0,1,2,3,4};
int b[100];
//把4后面的0剔除后存入另一个数组。

不可能做到的,比如你b长度100,a只有4个非0元素,那其他位置总得有数据,不是0你也得手动赋值为其他值比如-1或者int最大值
除非你先计算a中有多少非0元素,假设个数为cnt,然后b初始化为cnt长度的数组,然后遍历a把a的非0元素放入b

https://www.cnblogs.com/guanrongda-KaguraSakura/p/13583437.html https://www.cnblogs.com/guanrongda-KaguraSakura/p/13583437.html

没赋值的元素的值是随机的,你没办法识别。