gpt4 book ai didi

c++ - 将字符串文字传递给函数不允许修改

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:44:24 26 4
gpt4 key购买 nike

<分区>

程序 1:

 void function(char arr[])
{
arr[0] = 'X';
printf("%s",arr);
}

int main()
{
function("MyString");
}

输出:段错误

程序 2:

   int main()
{
char arr[] = "MyString";
arr[0] = 'X';
printf("%s",arr);
}

输出:XyString

程序 1 和程序 2 有什么区别?在 prog1 中,字符串值(不是通过引用)也被传递给数组,所以它应该复制到数组并允许修改它?但它抛出段错误。在 prog2 中成功允许更改 arr[]。为什么在 prog1 中它不起作用?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com