linux 下运行c出现段错误!!

2025-03-20 10:17:55
推荐回答(3个)
回答1:

我猜想错误的原因是:
char * c = "hello";//该c是一个指针,指向“hello”
reverse(c);
函数
void reverse(char * a)
{
int len = strlen(a);//该strlen函数是计算a的长度,以'\n'为结束,所以len可能不是5;

回答2:

改吧,char *c="hello"--->char c[]="hello"
前者你是不能修改hello的值的,因为hello是常量c只是指向这段内存
而后者确是一个字符数组c里面保存的是"hello"
两都的区别能分出来吧。。。

回答3:

地址是无法完成内容互换的。