| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2892 人关注过本帖
标题:请教一个程序死循环问题~~~~~高手请进!!!
只看楼主 加入收藏
hyq1122
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-3-24
收藏
得分:0 
回复 1# 的帖子
char xx[]="1,2,3,4,5,0";实际上只是申明了一个12个元素的字符数组,分别是如下字符:'1' ',' '2' ',' '3' ',' '4' ',' '5'  ',' '0' '\n',你的目的应该如下写:char xx[]={1,2,3,4,5,0};
但是,就算你这样写了,你也不可能得到结果,因为你只是申请了一个6个元素的字符数组,地址空间只有6个char大小,你再执行下面的语句,就会溢出。
你应该这样申明:char xx[11]={1,2,3,4,5,0};,因为你后面strcat语句实际上是将"6789\0"
2008-03-25 10:28
kissme
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-4-21
收藏
得分:0 
45318591  C/C++,VC爱好者  欢迎加入
2008-03-25 11:42
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
得分:0 
char xx[]="1,2,3,4,5,0";
    strcat(xx,"6789");
    printf("%s\n",xx);

1,2,3,4,5,0这个里面逗号也算是一个字符呢吧?

人生就是个死循环,退出这个循环的条件是系统停止。
2008-03-25 13:18
tiw
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-2-13
收藏
得分:0 
也算
2008-03-25 19:02
dhas
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-3-25
收藏
得分:0 
这就是个越界的问题,没什么好说的,这种错误的后果9楼说得很清楚了。推荐好好看一下。
2008-03-25 23:44
morpheus520
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-3-26
收藏
得分:0 
我觉得只要是越界,出现任何情况都是可能得。
因为如果影响了代码区就不知道他到底影响了哪一句了。
2008-03-26 11:36
快速回复:请教一个程序死循环问题~~~~~高手请进!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018486 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved