gpt4 book ai didi

c - 在没有库函数的情况下反转字符串 c 会导致段错误

转载 作者:行者123 更新时间:2023-11-30 19:31:36 24 4
gpt4 key购买 nike

每当我尝试运行它时,我都会遇到段错误。不知道为什么。逻辑似乎是正确的,可能与函数调用有关。调试器说了一些关于堆栈的内容,但我不知道如何解释它。

char* rev_string(char* t)
{
int i;
int j;
i = j = 0;
char tmp;
while(t[i] != '\0')
i++;
while(i > j)
{
tmp = t[i];
t[i] = t[j];
t[j] = tmp;
i--;
j++;
}
return t;
}

最佳答案

我相信您正在将第一个字符与字符串末尾的空终止字符交换,导致字符串的长度为 0,因为第一个字符是 \0。找到 \0 后,您需要将 j 标记向后移动 1。

char* rev_string(char* t)
{
int i;
int j;
i = j = 0;
char tmp;
while(t[i] != '\0')
i++;
i--;
while(i > j)
{
tmp = t[i];
t[i] = t[j];
t[j] = tmp;
i--;
j++;
}
return t;
}

关于c - 在没有库函数的情况下反转字符串 c 会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48270927/

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