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

2023-11-07

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

刚看到题的时候想到了交换两边的字符,然后实现逆序输出,但是有思路却不知道怎么来实现。通过在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;
}

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言实现字符串逆序输出 的相关文章

  • $nextTick是什么

    概述 nextTick 是一个用于在DOM更新完成后执行回调函数的方法 vue的数据更新是一种延迟异步更新 在vue中修改数据后 页面不会立刻更新 而是开启一个队列 并且缓存同一轮事件循环中的所有数据改变 在缓冲时会除去重复的操作 等到下一
  • JavaScript DOM

    JavaScript DOM DOM Document Object Model 文档对象模型 将 HTML 文档的各个组成部分 封装为对象 借助这些对象 可以对 HTML 文档进行增删改查的动态操作 Element元素的获取操作 具体方法
  • 集群Linux各个节点的配置------IP地址

    启动主服务器HadoopMasterServer和HadoopSlaveServer1 HadoopSlaveServer2 三个都启动后等待登陆 使用root 账号登陆 密码使用安装系统时设定的那个 想使用Xshell连接操作的话 请参照
  • CTF Crypto简单题学习思路总结(持续更新)

    系列文章目录 本系列开篇文章 就没有链接了 文章目录 系列文章目录 前言 一 编码 解码 1 1 BrainFuck密码 ook 密码 1 2 URL编码 HTML实体编码 1 3 Unicode编码 XXencode编码 AAencode
  • 脚本方式本地仓库jar包批量导入maven私服

    脚本内容 将以下内容保存为mavenimport sh 放置于需要上传的目录下 可以是顶层目录 或者某个分包的目录 若私服已有待上传的包 则执行会被替换 bin bash copy and run this script to the ro
  • Python——for循环中如何设置跳过下一次循环

    是很笨的一个分享 但是确实让我少走了很多看起来很牛逼的弯路 当我心里产生这个好奇的时候搜到了一大堆高大上的回答 还是不配了 题目的背景的一个细节是检索字符串右边那一位 如果大于左边一位 需要将二者做差 然后右边那一位就直接跳过 for i
  • RabbitMQ优秀博文整理

    1 关于主流MQ的介绍 各MQ的优缺点 MQ的使用选举等 MQ消息队列详解 四大MQ的优缺点分析 从百草园杀到三味书屋 的博客 CSDN博客 几种消息队列的优缺点 2 RabbitMQ常见问题的整理 以及解决思路 图文并茂 比较详细 Rab

随机推荐

  • shell脚本执行sql文件及语句

    由于经常操作数据库 遇到频繁建表 加字段 索引 修改数据等问题 大多是操作多个数据库 sql文件或语句不固定 最后选择shell脚本来执行 eg 1 多库建相同的表 bin bash host 127 0 0 1 dbUser root d
  • STM32F7上移植NES游戏

    上面是我的微信和QQ群 欢迎新朋友的加入 说不上是原创 因为核心程序是别人的 我只是移植过来 让它适应我手上这个版本的库函数 一共是四个小游戏 我自己只会玩一个坦克大战和经典的超级玛丽 坦克大战截图 不知道是什么游戏 硬件平台 STM32F
  • 数据库查询内容制成新表group_concat报错“Row XXX was cut by group_concat”的解决

    MySql数据库查询时 使用group concat报错 Row XXX was cut by GROUP CONCAT 单独查询不会报错 当我要将查询的数据制作成新表时 会报这个错 网上查了下是因为group concat有个最大长度的限
  • 2014阿里巴巴9月15哈尔滨校园招聘笔试题及答案

    from http blog csdn net lingfengtengfei article details 12344711
  • 控制台输入python后报错

    解决方法 可以 进入到该目录 Anaconda3 Lib site packages pyreadline lineeditor history py文件的第82行 修改如下 for line in open filename r enco
  • Servlet文件上传实现进度条提示-实测+源码下载

    1 案例概述 本案例技术站 servlet jQuery实现 1 1 案例效果展示 1 2 案例说明 1 实现文件上传 2 实现文件上传时出现进度条提示 上传结束时进度条消失 3 通过监听和session共享的方式获取文件上传的实时信息 4
  • HashBasedTable用法实例

    import com google common collect HashBasedTable import com google common collect Table import java util Map import java
  • 安卓轮播图

    最近项目中改版 之前的轮播图实现不是很好 这次要改掉 之后就发现了一个完美的轮播图框架 框架地址 框架的使用很简单 步骤 1 依赖Banner dependencies compile com youth banner banner 1 4
  • 最长公共子序列以及最长公共子串

    前言 LCS定义 一个数列S 如果分别是另个或多个已知数列的子序列 且是所有匹配此条件中最长的 则称S是已知数列的最长公共子序列 举个例子 s序列 A B C B D A B t序列 B D C A B A 他们的最长公共子序列为 B C
  • 手机敲代码软件_适合编写C语言代码的编程软件有哪些?大学生赶紧行动起来...

    C语言基本上是大学计算机及其相关专业在大一上学期就会开的一门课程 但是很多学生就是在大一上学期期末的时候很着急 因为自己完全没有学好C语言 感觉一学期白学了 其实究其主要原因 还是因为你在上课认真听了 也做了课堂作业 但是却没有在课后好好的
  • 预见2020关键一年

    12月28日 以 预见2020 区块链关键一年 为主题的2019年第二届中国区块链产业经济年会在北京国际金融博物馆隆重举行 本次大会在中国移动通信联合会区块链专委会 中关村大数据产业联盟 中国电子商会区块链专委会的指导下 由全球领先的区块链
  • sc不为内部或外部命令

    tomcat 注册服务 sc config netman start auto sc 不为内部或外部命令 解决方法 用管理员权限打开cmd C Windows cmd exe
  • iframe设置cookie_惊艳面试官的 Cookie 介绍

    关注在看 以后更多干货分享在头条 Cookie 是什么 Cookie 是用户浏览器保存在本地的一小块数据 它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上 Cookie 主要用于以下三个方面 会话状态管理 如用户登录状态 购物
  • linux系统下“rwx“的概念及用法~

    我们知道 一个文件它的权限情况是怎样的 可以使用用 ls l 查看详细信息这样一条指令 但显示出来的 rwxrwxrwx 究竟是什么意思呢 就让我们来了解一下 r read 读 对文件查看该源文件内容 对目录有查看的权限 w white 写
  • nacos--基础--1.3--理论--架构

    nacos 基础 1 3 理论 架构 1 基本架构及概念 1 1 服务 Service 是指一个或一组软件功能 例如特定信息的检索或一组操作的执行 其目的是不同的客户端可以为不同的目的重用 例如通过跨进程的网络调用 Nacos 支持主流的服
  • easyui 修改window title 正确用法 亲测

    错误用法 mySoftModal panel title 修改title 出现问题 不能拖拽 正确使用方法 mySoftModal window open mySoftModal window draggable true title 添加
  • 学校计算机数量减少说明,一类院校减少但招生量大涨,计算机的同学别慌

    计算机 软件工程 物联网工程 数字媒体技术 网络工程 这5个联考专业是理工类第一大专业 2019年100分以上人数达到3413 相信2020年人数也会平稳增长 同时 一类院校全部停招 充满了竞争的火药味儿 数据解读 2019年 计算机等联考
  • Qt中常见的坐标位置函数的梳理包括x、y、pos()、rect()、size()和geometry()等

    Qt中常见的坐标位置函数的梳理包括x0 y pos rect size 和geometry 等 1 画图梳理 x0 y0和pos 函数的作用都是获得整个窗体左上角的坐标位置 frameGeometr与 函 数与geometry 函数相对应
  • tensorflow学习笔记(三十):tf.gradients 与 tf.stop_gradient() 与 高阶导数

    gradient tensorflow中有一个计算梯度的函数tf gradients ys xs 要注意的是 xs中的x必须要与ys相关 不相关的话 会报错 代码中定义了两个变量w1 w2 但res只与w1相关 wrong import t
  • C语言实现字符串逆序输出

    键盘输入一个字符串 实现逆序输出 刚看到题的时候想到了交换两边的字符 然后实现逆序输出 但是有思路却不知道怎么来实现 通过在CSDN里面搜索 看了别人对这个题的实现 才豁然开朗 然后关了CSDN界面 自己动手在VSCode里面写 中间还碰到