gpt4 book ai didi

在 strcpy 上崩溃,不知道为什么?

转载 作者:太空狗 更新时间:2023-10-29 15:02:31 24 4
gpt4 key购买 nike

   if (strlen(shortest) > strlen(longest)) {
char *temp;
strcpy(longest, temp);
strcpy(shortest, longest);
strcpy(temp, shortest);
}
}

strcpy(longest, temp) --> 导致我的程序崩溃。这是一份详细的崩溃报告(我已经包含了正确的头文件,所以不是那样。编译器还警告我使用未初始化的临时变量...):

Program received signal SIGSEGV, Segmentation fault.
__strcpy_ssse3 () at ../sysdeps/i386/i686/multiarch/strcpy-ssse3.S:85
85 ../sysdeps/i386/i686/multiarch/strcpy-ssse3.S: No such file or directory.

最佳答案

        char *temp;
strcpy(longest, temp);

strcpystrcpy(dst, src) 而不是 strcpy(src, dst)。来源是右边的参数,不是左边的参数。

此外,当您将其值传递给 strcpy 时,char *temp 不会被初始化。您需要为 temp 分配内存来保存您复制的字符串,例如使用 malloc

关于在 strcpy 上崩溃,不知道为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15982928/

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