递归逻辑为:
当字符长度等于1时,直接返回
否则,调换首尾两个字符,在递归地倒置字符数组的剩下部分
最后空一行,在程序结尾处打印倒置后该数组的各个元素。
5 abcde
ebcda edcba edcba
1 #include <stdio.h>
2 #include <string.h>
3 char str[100];
4 int len;
5 void deal(char *a,int n)
6 {
7 if(n>=len/2) return ; //递归到中间停止
8 char c=a[n];
9 a[n]=a[len-n-1];
10 a[len-n-1]=c;
11 printf("%s\n",a);
12 deal(a,n+1);
13 }
14 void main()
15 {
16 int n;
17 while(~scanf("%d %s",&n,&str)){
18 len=strlen(str);
19 deal(str,0); //从第一个字符开始
20 printf("\n%s\n",str);
21 }
22 }
















