2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言实现字符串逆序输出

C语言实现字符串逆序输出

时间:2022-01-16 12:03:28

相关推荐

C语言实现字符串逆序输出

键盘输入一个字符串,实现逆序输出。

刚看到题的时候想到了交换两边的字符,然后实现逆序输出,但是有思路却不知道怎么来实现。通过在CSDN里面搜索,看了别人对这个题的实现,才豁然开朗,然后关了CSDN界面,自己动手在VSCode里面写,中间还碰到了一些问题,像是遍历输出字符的时候会忘记[],定义字符数组的时候没有初始化导致输出的时候有乱码,使用fgets函数获取输入后输出的时候会把换行符也打印出来等等,这些问题也都尽可能地解决了,有所收获。

下面是我写的代码:

#include <stdio.h>#include <stdlib.h>//逆序输出一个字符串//方法1:从后往前输出void f1(){char str[20]={'\0'};int i;printf("请输入一个字符串:");//fgets(str , sizeof(str) , stdin);//多输出一个换行符gets(str);printf("字符串逆序输出:");//从字符串倒数第二个字符开始逆序输出,最后一个为'\0'for(i=sizeof(str)/sizeof(str[0])-1;i>=0;i--){printf("%c",str[i]);}printf("\n");}//方法2:两端交换后输出void f2(){char str[20]={'\0'};int i , j , k;//k为中间变量,用于字符串两端字符交换printf("请输入一个字符串:");//fgets(str , sizeof(str) , stdin);//多输出一个换行符gets(str);printf("字符串逆序输出:");i=0;//字符串第一个字符j=(sizeof(str)/sizeof(str[0]))-1;//字符串倒数第二个字符,最后一个为'\0'//从两端开始向内交换字符while(i<j){k=str[i];str[i]=str[j];str[j]=k;i++;j--;}//字符串遍历输出for(i=0;i<20;i++){printf("%c",str[i]);}printf("\n");}int main(){f1();f2();system("pause");return 0;}

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