首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个关于数组的小疑点

2012-11-06 
一个关于数组的小问题#includeiostream#includestringusing namespace stdint main(){int i0int c[

一个关于数组的小问题
#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就输出,自然就这样了

热点排行