gpt4 book ai didi

c - 打印字符串时出现意外错误

转载 作者:行者123 更新时间:2023-11-30 18:32:35 24 4
gpt4 key购买 nike

为什么这段代码会产生错误?它不应该输出 zbcde 吗?

int main()
{
char *p="abcde";
*p='z';
printf("%s\n",p);
return 0;
}

最佳答案

您正在尝试修改字符串文字;这是未定义的行为。

进一步解释:“abcde”不是 char * 而是 const char *。您应该执行以下解决方案之一:

char p[] = "abcde";

char *p = strdup("abcde");

(在后一种情况下,不要忘记 free() p!)

关于c - 打印字符串时出现意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11958425/

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