递归实现字符串逆序输出
#include "stdafx.h"
#include <stdlib.h> //system()的头文件
void fun(char *s){
if(*s!='\0')
{
fun(s+1);
printf("%c",*s);//递归输出当前“最后”一个非空字符
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char s[20]="guiyang";
scanf("%s",&s);
//gets(s);//输入
printf("原字符串:%s\n",s);
printf("逆序字符串:");
fun(s);
printf("\n");
system("pause");
return 0;
}
非递归实现字符串逆序输出
#include "stdafx.h"
#include <stdlib.h>
#include <string.h>//strlen()的头文件
void fun1(char *s)
{
int len = strlen(s);
//printf("len:%d",len);
char *r = s+len-1;
for(int i=0;i<len;i++)
{
printf("%c",*r);
r--;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char s[20]="guiyang";
//scanf("%s",&s);
gets(s);
printf("原字符串:%s\n",s);
printf("逆序字符串:");
fun1(s);
printf("\n");
system("pause");
return 0;
}