gpt4 book ai didi

c - 用递归反转c中的字符串

转载 作者:行者123 更新时间:2023-12-05 01:21:40 25 4
gpt4 key购买 nike

我已经编写了代码来反转 c 中的字符串...它工作正常,但我无法在 main() 函数中返回反转后的字符串。

#include<stdio.h>

main()
{
char a[17]="abcdefg";
reverse(a);
printf("\n");
system("PAUSE");
}
int reverse(char *a)
{
if(*a!='\0')
{
reverse(a+1);
}
printf("%c",*a);
}

它打印反转的字符串,但我想要 main() 中的反转字符串。我怎样才能做到这一点?

最佳答案

以下是使用递归反转字符串的一种方法!

#include <stdio.h>
#include <string.h>

void rev_str_recursive(char arr[], size_t iStart, size_t iLast)
{
if( iStart < iLast )
{
//swap
char temp = arr[iStart];
arr[iStart] = arr[iLast];
arr[iLast] = temp;

rev_str_recursive(arr, ++iStart, --iLast);
}
}

void main()
{
char cArray[] = {"A quick brown fox jumps over a lazy dog"};

rev_str_recursive(cArray, 0, strlen(cArray)-1);
}

关于c - 用递归反转c中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707278/

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