怎么改才能正确啊???
#include <iostream>
#include <cstring>
using namespace std;
void main ()
{
char asd[]="asd";
char *zxc=new char[5];
char *qwe[]="qwe";
cin >> zxc;
strcpy (asd,zxc);
strcat (qwe,zxc);
}
[解决办法]
strcpy (asd,zxc); //确保asd足够大?
strcat (qwe,zxc); // qwe越界
使用后delete 申请的对空间
[解决办法]
把目的空间的内存分配大一点!
[解决办法]
#include <iostream >
#include <cstring >
using namespace std;
void main ()
{
char asd[]="asd";
char *zxc=new char[5];
char *qwe[]="qwe"; //这里你是想定义 char qwe[]吧。。。不要那个*
cin > > zxc;
strcpy (asd,zxc); //这个意思是把zxc复制给asd...
strcat (qwe,zxc); //qew空间不够,多分配点。
}
[解决办法]
你想理解好
char asd[]="asd";
asd的大小分配
char *qwe[]这是定义什么?
strcpy strcat两个函数的作用