gpt4 book ai didi

c - 为什么这个 C 代码会出现总线错误? (不允许外部函数)

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:53 25 4
gpt4 key购买 nike

我已经研究这段代码好几个小时了,但找不到错误所在。它通过了编译器,但在运行时出现总线错误,为什么?

char    *ft_strrev(char *str);

char *ft_strrev(char *str)
{
int i;
int count;
int d;
char temp[5];

i = 0;
count = 0;
d = 0;
while (str[count] != '\0')
{
count++;
}
while (d < count)
{
temp[d] = str[d];
d++;
}
while (--count >= 0)
{
str[i] = temp[count];
i++;
}
return (str);
}

int main()
{
char *pooch;
pooch = "allo";
ft_strrev(pooch);
return (0);
}

最佳答案

您的函数正在修改字符串。在代码中,您传入一个文字字符串。您不应更改文字字符串。

而是使用类似的东西:

char pooch[5];
pooch[0] = 'a';
pooch[1] = 'l';
pooch[2] = 'l';
pooch[3] = 'o';
pooch[4] = 0;
ft_strrev(pooch);
return 0;

关于c - 为什么这个 C 代码会出现总线错误? (不允许外部函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44856233/

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