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

连接C风格字符串的断异常 请解

2012-03-14 
连接C风格字符串的断错误 请解!C/C++ code#includehead.hint main(){char a[]abcdchar b[]efghc

连接C风格字符串的断错误 请解!

C/C++ code
#include"head.h"int main()    {    char a[]="abcd";    char b[]="efgh";        const size_t i=strlen(a),j=strlen(b);    const size_t ii=i+j+1;    char c[ii];    for(size_t mm=0;mm!=ii;mm++)        {        c[mm]='a';        }    strcat(a,b);    strcpy(c,a);    cout<<c<<endl;    return 0;    }

为什么运行会出现断错误呢?求解!!!

还有就是为什么我要是这样初始化c数组会错误
char c[ii]="hijklmno\0" 
提示的是可变大小的c不能初始化
这句话不能理解 求解!!!

[解决办法]
数组的长度只能是const定义的常量,看下面code编译OK;
#include"head.h"
#include"string.h"
int main()
{
char a[]="abcd";
char b[]="efgh";
const size_t i=strlen(a),j=strlen(b);
const size_t ii=9;
char c[ii];
for(size_t mm=0;mm!=ii;mm++)
{
c[mm]='a';
}
strcat(a,b);
strcpy(c,a);
cout<<c<<endl;
return 0;
}

热点排行