gpt4 book ai didi

c - 为什么下面的代码会产生段错误

转载 作者:行者123 更新时间:2023-11-30 21:46:57 25 4
gpt4 key购买 nike

我尝试使用 strcpy 将字符串复制到指针。它会导致段错误。任何原因。

#include <stdio.h>
#include <string.h>
int main()
{
char *str=NULL;
strcpy(str,"C-DAC");
printf("%s\n",str);
return 1;
}

最佳答案

你的字符串指向哪里?无处可去!

这就是出现段错误的原因。您必须将堆栈上的变量分配为数组,或者将其定义为指针,然后使用 malloc 分配内存。使用 malloc 时,不要忘记包含“stdlib.h”

要么这样做:

char str[6];
strcpy(str,"C-DAC");

char *str=malloc(sizeof(*str) * 6);
strcpy(str,"C-DAC");

关于c - 为什么下面的代码会产生段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44839776/

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