回复 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"
----------------解决方案--------------------------------------------------------
45318591 C/C++,VC爱好者 欢迎加入
----------------解决方案--------------------------------------------------------
char xx[]="1,2,3,4,5,0";
strcat(xx,"6789");
printf("%s\n",xx);
1,2,3,4,5,0这个里面逗号也算是一个字符呢吧?
----------------解决方案--------------------------------------------------------
也算
----------------解决方案--------------------------------------------------------
这就是个越界的问题,没什么好说的,这种错误的后果9楼说得很清楚了。推荐好好看一下。
----------------解决方案--------------------------------------------------------
我觉得只要是越界,出现任何情况都是可能得。
因为如果影响了代码区就不知道他到底影响了哪一句了。
----------------解决方案--------------------------------------------------------