首页
社区
课程
招聘
内存溢出问题!!
发表于: 2006-12-5 10:35 4306

内存溢出问题!!

2006-12-5 10:35
4306
char        *a="0123456789";//这个是会相等,*c="9876543210";
char b[11];//多分配一个空间就不会有问题如果分配成char b[20];以上就有
//问题了。看来编译器还是存在好多设计上问题!!
//char b[10000];//就不存在错误
//c=b;
//c[1]=a[9];
//c[3]=a[1];
b[0]=a[9];
b[1]=a[1];
printf("%s",b);
在此希望各位先去编译运行后再回复本贴。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
写代码之前应该先学好语文。
2006-12-5 10:55
0
雪    币: 161
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PFC
3
最初由 GoogleDX 发布
写代码之前应该先学好语文。
2006-12-5 11:03
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
1)完全不清楚LZ到底要说什么问题,也看不懂code是为了做什么。对LZ的建议同2楼
2)编译结果运行没什么出乎意外的地方
2006-12-5 13:33
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
5
不是编译器的问题,是你没有将内存缓冲区清零所引起的问题。局部变量在内存的初始值是不定的,没有清零的话,无法保证局部变量的值会出现什么东西,所以你先将变量c初始为零就不会出现问题了。
char c[20] = {0};
2006-12-5 13:57
0
游客
登录 | 注册 方可回帖
返回
//