求c语言的字符串逆序输出的递归算法

看清楚要求:
1.不能使用任何迭代结构(如for,while)
2.函数的原型是 (类型)change(char str[]);括号中的类型可以自定义;
3.是纯递归的算法不要借助其他函数;

有人知道怎么写么?

1.创建一个新的项目和。c文件,输入头和主要功能。

2.声明调用的函数返回并定义变量类型。

3.输入一个整数,如下图所示。

4.使用if语句来确定整数是否为负数,或者使用putchar来打印负号。

5.调用一个函数,如下图所示。

6.定义函数的返回类型和参数类型。

7.使用if语句确定是否只剩下一个答案。如果不是,则执行else语句。

8.编译并执行,如下图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-12
很简单啊

void change(char str[])
{
if(*str=='\0') return;
change(str+1);
printf("%c",*str);
}

有问题hi我本回答被提问者和网友采纳
第2个回答  2009-12-03
用char[i] ,char[j]分别从头部和尾部执行交换,知道i>=j时递归终止就可以了。
第3个回答  2009-12-03
#include <stdio.h>
void change ( char str[] )
{
if ( *str != 0 )
{
change ( str + 1 );
}
putchar ( *str );
return;
}

void main()
{
char str[] = "hello world!";
change ( str );
}
第4个回答  2009-12-03
//---------------------------------------------------------------------------

#include <stdio.h>

void change(char str[])
{
if (str[0]) change(str+1);
if (str[0]) putchar(str[0]);
}
int main(void)
{
change("abcde");
return 0;
}
//---------------------------------------------------------------------------