c++ strcpy()函数

2025-02-25 14:30:28
推荐回答(5个)
回答1:

因为x只能存放10个字符,但你的000已经有10个,连同结尾的'\0',一共11个字符,因此溢出了或者说数组越界了

回答2:

第一个声明就错误了

指针字符串是指针字符串

字符串数组是字符串数组

而且还有 指针字符串内容是不能被修改的

即使是

char * a="ABC";
char b[]="D";
strcpy(a,b);//这里

也是编译没错 运行出错

回答3:

去掉数组a[]前边的*号,是字符数组,可以进行strcpy。去掉a[]后边的[] 是字符串指针,为常量,不能作为strcpy的第一个参数。有*有[]是字符串数组,,同意楼上回答。

回答4:

"ABC"存在静态存储空间,不能修改的。如果你改成char a[],就是栈空间,应该就可以改了。

回答5:

显然不对啊,你这里定义的a是一个指向字符常量指针的指针,你要用strcpy(*a,b)