c语言学习成果巩固;
递归实现
好处在于不改变原字符串,仅仅是对字符串的逆序输出。
#include<stdio.h>void print(char* p,int i){if(p[i+1] != '\0'){print(p,i+1);}printf("%c", p[i]);}int main(){char c[100];gets(c);print(c,0);return 0;}
常规方法(对称元素交换)
#include <stdio.h>#include <string.h>void reverse(char* p, int start, int end){while (start < end) //对称元素交换{char c = p[start];p[start] = p[end];p[end] = c;start++;end--;}}int main(){char c[100];gets(c);reverse(c, 0, strlen(c)-1);puts(c);return 0;}