要如何用递归函数实现说反话,看了帖子发现好像没有这种方法,知道的可以分享一下吗
一个字符串,下标从0开始,在递归里先输出当前字符后再进入递归是正向输出字符串。
先进入递归,递归返回后再输出当前字符是倒序输出字符串。
//说反话?是反转的意思吗?
//for example
void reverse(char *s, int len, int p) {
if(p==len) return;
reverse(s, len, p+1);
printf("%c", s[p]);
}
void reverse2(char *s, int p) {
if(s[p]=='\0') return;
reverse2(s, p+1);
printf("%c", s[p]);
}
int main() {
reverse("abc", 3, 0);//反向输出cba
prontf("\n");
reverse2("abc", 0); //和上面一样效果
return 0;
}