gpt4 book ai didi

C、toupper段错误

转载 作者:行者123 更新时间:2023-12-04 08:25:50 25 4
gpt4 key购买 nike


char *s1 = "emma";

char *s2 = s1;

s2[0] = toupper(s2[0]);

printf("%s\n", s2);
printf("%s\n", s1);

我正在搞乱和学习指针,但我不太明白为什么我在这里遇到段错误。我知道 toupper 函数需要一个字符,但字符串 s2 的第 0 个元素不是一个字符吗?我知道它是一个指针,但它指向一个字符,对吗?这是什么情况?

最佳答案

i don't quite understand why i'm getting a segmentation error here.


代码尝试修改字符串文字。那就是UB。复印一份。
UB:未定义的行为 - 可能会起作用,也可能会以明显或奇怪的方式失败。

关于C、toupper段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65268109/

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