字符串反转有很多种方法,下面我们用递归来实现对字符串的反转操作,代码如下:
/***********************************************************************
Copyright (c) 2015,wangzp
All rights no reserved.
Name: <
>练习4-13
ID: reverse.c
功能: 编写一个递归版本的reverse(s)函数,把字符串s颠倒过来。
Date: Sep 09, 2015
***********************************************************************/
#include
#include
void reverse(char s[],int longest);
int main(void)
{
char s1[]="hello";
char s2[]={'w','o','r','l','d','\0'};
int longest=0;
longest=strlen(s1);
reverse (s1,longest);
printf ("%s\n",s1);
longest=strlen(s2);
reverse (s2,longest);
printf ("%s\n",s2);
return 0;
}
/* reverse函数: 把字符串s颠倒过来(递归版本),longest为字符串长度 */
void reverse(char s[],int longest)
{
char c;
int i=0;
if (longest>1)
{
/* 依次交换数组中相邻的数组元素 */
for (i=0;i