函数参数问题?
bool test(char *a){
strcpy(a, "123 ");
return true;
}
int main(){
char *s=new char(10);
s= "456 ";
test(s);
return 0;
}
这儿函数出错,是为什么,我如何改变函数的参数值?
在函数里面如果a= "123 " 又没有问题,这又是为什么?
望高手指点.
[解决办法]
char s[]= "456 ";
[解决办法]
char *s=new char(10);
==》
char *s=new char[10];
[解决办法]
指针s指向常量字符串“156”(位于静态存储区,内容为456\0),常量字符串的内容是不可以被修改的。