一个关于数组的小问题
#include<iostream>
#include<string>
using namespace std;
int main(){
int i=0;
int c[10];
memset(c,1,sizeof(c));
while(c[i]){
cout<<i<<' ';
i++;
}
return 0;
}
这段代码为什么输出从0到14啊定义的数组不是10个数吗?
谢谢
[解决办法]
虽然你是定义了数组c[10],但是当该数组在循环里用完后,接着取数组后面的内存单元时,如果数据不为0,自然会输出。
[解决办法]
可能是以c为起始地址的内存空间内原本是有数据的,虽然你只申请了10个空间,但是后面是有数据的,而你的判断条件又是只要c[i]不为0就输出,自然就这样了