连接C风格字符串的断异常 请解
连接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;
}