100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > C语言 逆序输出字符串

C语言 逆序输出字符串

时间:2021-08-28 18:47:36

相关推荐

C语言 逆序输出字符串

前言

逆序输出字符串最可能先想到的是遍历时用栈保存字符,最后出栈。既然栈可以实现,那我们也可以用递归的方法来实现,并且一定会比较简单。除了以上两种,还可以对字符串进行原地逆置,最后再将该字符串输出即可。

一、简单递归实现

void fun(char *s){if(*s!='\0') // 递归终止条件{fun(s+1); // 注意这里是先递归再输出,这样就可以从后面开始逆序输出printf("%c",*s);}}

int main(int argc, char *argv[]) {char s[20];gets(s); printf("原始字符串:%s\n",s);printf("逆序输出字符串");fun(s);return 0;}

运行结果

二、 原地逆置实现

void revstr(char *s){if(s!=NULL){char *result = s; //保存字符串首地址,便于输出 int len = strlen(s); char *r = s+len-1; // 定位到最后一个字符 char temp;while(r>s) // 两个指针相向而行 {temp = *s;*s = *r;*r = temp;s++;r--;}printf("%s",result);}}int main(int argc, char *argv[]) {char s[20];gets(s); printf("原始字符串:%s\n",s);printf("逆序输出字符串");revstr(s);return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。