gpt4 book ai didi

c - 我尝试实现 LIFO 和递归来反转 char 数组,但它无法正常工作

转载 作者:行者123 更新时间:2023-11-30 18:45:53 25 4
gpt4 key购买 nike

为什么这个程序代码没有给出所需的输出?我尝试使用递归和 LIFO 概念来反转此代码中的字符数组。

 #include<stdio.h>
void reverse(char a[]);
int main()
{
char a[] = "NAME";
printf("The original character string is: %s\n",a);
printf("The reversed string is:\n");
reverse(a);
system("pause");
}
void reverse(char a[])
{
static int i = 0;
int j = i;
while (a[i] == '\0')
{
i++;
reverse(a);
}
printf("%c", a[j]);
}

最佳答案

如果你想递归,那么就不要使用静态变量。递归可以非常简单。以下内容可以满足您的要求。请仔细研究:

void reverse (char *s)
{
if (*s!=0) {
reverse (s+1);
printf("%c", *s);
}
}

关于c - 我尝试实现 LIFO 和递归来反转 char 数组,但它无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53429638/

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