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

新手关于字符数组的小疑点

2012-04-28 
新手求教:关于字符数组的小问题#includestdio.h#includestring.hvoid main(){char s1[]aaa,s2[]b

新手求教:关于字符数组的小问题
#include<stdio.h>
#include<string.h>
void main(){
char s1[]="aaa",s2[]="bbb",s3[]="ccc";
  strcat(s1,strcat(s2,s3));
  puts(s1);
  printf("\n");
  puts(s2);
  printf("\n");
  puts(s3); 
  }
执行之后为什么s2和s3的数值发生变化。



[解决办法]
strcat(s1,strcat(s2,s3));
s2没有足够的空间来容纳s3
这个时候程序会崩溃
[解决办法]
strcat函数是向一个字符串后追加字符,字符数组s1、s2、s3的长度都为4(包括结束符),追加字符时会越界,程序崩溃,换成strcpy就没问题
[解决办法]
楼上正解
[解决办法]
2楼貌似正解。
[解决办法]
LS正解!

热点排行