gpt4 book ai didi

c - C语言中如何复制字符串

转载 作者:行者123 更新时间:2023-11-30 20:14:54 25 4
gpt4 key购买 nike

如果我有函数 scopy 将 C 字符串从 src 复制到 dest

char * scopy(char *dest, char *src) {
char* r = dest;
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
*dest = *src;
return r;
}

为什么在像这样初始化的 2 个字符串上调用此函数时会起作用char a[6] = "abbbb"和字符 b[4] = "dcd"但不适用于像这样初始化的字符串char * a = "abbbb"和字符* b =“dcd”

最佳答案

此函数在像这样使用时会调用未定义的行为,因为它试图 modify a string literal ,所以你不能说它在任何一种情况下都有效。

它似乎适用于 char[] 的事实是一个巧合 - 一个不幸的巧合,因为它给人错误的印象。

关于c - C语言中如何复制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23586243/

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