字符串逆序(c语言)

news2024/11/6 0:45:52



错误代码

#include<stdio.h>

//字符串逆序
void reverse(char arr[], int n)
{
    int j = 0;
    //采用中间值法
    //访问数组中第一个元素和最后一个元素
    //交换他们的值,从而完成了字符串逆序
    //所以这个需要临时变量
    for (j = 0; j <= n / 2; j++)
    {
        char temp = arr[j];
        arr[j] = arr[n - 1 - j];
        arr[n - 1 - j] = temp;
    }
    //直接打印整个数组
      printf("%s",arr);
}



int main()
{
    char arr[10000];
    int i = 0;
    //直接输入整个数组
    scanf("%s", arr);
    int sz = 0;
    //这个循环计算的是除了\0后这个数组元素的个数
    while (arr[sz] != '\0')
    {
        sz++;
    }
    //函数调用
    reverse(&arr, sz);
    return 0;
}
//

运行结果

为什么呢

因为scanf在读取输入时,不能读取空白字符(空格,制表符,换行符),遇到这些就会停止读取

所以到i就停止读取了

 知识引用:

gets函数和fgets函数的区别

正确代码

#include <stdio.h>
#include <string.h>

int main() 
{
    char str[10001];
    //读取键盘中输入的字符,包括空格
    //需要引头文件    
    fgets(str, 10001, stdin);
    int len = strlen(str);
    //因为fgets把\n读取了,所以需要去除\n的情况
    if (str[len - 1] == '\n') 
    {
        len--;
    }
    for (int i = 0; i < len / 2; i++) 
    {
       // 利用中间值进行交换
        char temp = str[i];
        str[i] = str[len - 1 - i];
        str[len - 1 - i] = temp;
    }
    //直接打印整个数组
    printf("%s\n", str);
    return 0;
}

程序运行


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2229356.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四足机器人实战篇之二十三:四足机器人支撑腿反作用力规划之VMC解耦控制方法

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、分解式VMC 的实现原理1.虚拟力的定义2.虚拟力分配方法3.在每个需要控制的自由度上构造恰当的虚拟构件以产生合适的虚拟力(1)计算虚拟力的方法…

【VS中Git同步提交 报错:访问.vs/FileContentIndex/xxx.vsidx权限不允许】

参考&#xff1a; Git commit vsidx file access denied in Visual Studio 一劳永逸的方法&#xff1a; 在VSCode里&#xff0c;Git->设置->选项&#xff1a;编辑.gitignore文件&#xff0c;如下图&#xff1a; 忽略整个.vs文件夹&#xff0c;再重新提交就不会有涉及…

[java][高级]FilterListenerAjax

Filter&Listener&Ajax 目标&#xff1a; 能够使用 Filter 完成登陆状态校验功能 能够使用 axios 发送 ajax 请求 熟悉 json 格式&#xff0c;并能使用 Fastjson 完成 java 对象和 json 串的相互转换 1&#xff0c;Filter 1.1 Filter概述 Filter 表示过滤器&#…

计算机网络——网络拥塞

让网络尽可能不拥塞 哪些指标标示网络可能发生拥塞呢&#xff08;靠端系统的判断&#xff09; 1.超时 2.收到三个冗余的ACK确认 网络拥塞的特点 如果网络拥塞不加控制的话&#xff0c;会让网络加速变快 ER字段 &#xff1a;表示交换设备能够提供多少的带宽——存储的是源端…

MiniWord

1.nuget 下载配置 2.引用 3. var value = new Dictionary<string, object>() { ["nianfen"] = nianfen, ["yuefen"] = yuefen, ["yuefenjian1"] = (int.Par…

Android启动流程_SystemServer阶段

前言 上一篇文档我们描述了在 Android 启动流程中 Zygote 部分的内容&#xff0c;从 Zygote 的配置、启动、初始化等内容展开&#xff0c;描述了 Zygote 在 Android 启动中的功能逻辑。本篇文档将会继续 Android 启动流程的描述&#xff0c;从 SystemServer 进程的内容展开&am…

启动任务节点时,传入机械臂参数

MoveIt2_tutorial-Examples-Planning Scene ROS API 先启动move_group节点&#xff0c;后启动任务节点 方式1&#xff1a; 直接传入参数文件的地址 from launch import LaunchDescription # 导入启动描述&#xff0c;用于描述启动文件的结构 from launch_ros.actions impor…

HarmonyOS NEXT星河版笔记--ArkTS篇(1)

一、概念 ArkTS&#xff1a;是一门用于开发鸿蒙应用的编程语言 console.log(我说,HelloWorld) 二、认识数据 2.1.基础数据类型 string字符串描述信息number数字计算boolean布尔判断&#xff08;真、假&#xff09; 2.2.存储数据 存储数据包括变量和常量。 2.2.1.变量&a…

【数据结构】ArrayList的模拟实现--Java

目录 一、&#x1f369;简单了解ArrayList 二、&#x1f369;ArrayList的简单模拟实现 1.&#x1f354;IList接口 1.&#x1f355;IList接口 2. &#x1f355; MyArrayList 重写接口方法 2.&#x1f354;ArrayList方法 1.&#x1f96a;增 1.add&#xff08;添加元素&…

数据结构+算法

一、数据结构 1、线性结构 数组&#xff1a; 访问&#xff1a;O(1)访问特定位置的元素&#xff1b;插入&#xff1a;O(n)最坏的情况发生在插入发生在数组的首部并需要移动所有元素时&#xff1b;删除&#xff1a;O(n)最坏的情况发生在删除数组的开头发生并需要移动第一元素后…

go 聊天系统项目-1

1、登录界面 说明&#xff1a;这一节的内容采用 go mod 管理【GO111MODULE‘’】的模块&#xff0c;从第二节开始使用【GO111MODULE‘off’】GOPATH 管理模块。具体参见 go 包相关知识 1.1登录界面代码目录结构 代码所在目录/Users/zld/Go-project/day8/chatroom/ 1.2登录…

Steam deck 倒腾日记 - 安装Windows软件,玩上黑神话悟空

Steam deck 倒腾日记 关于Steam Deck基本信息性能特点游戏兼容性 问题一: 软键盘输入问题二: 系统切换问题三: 安装运行Window 软件关于Proton如何运行 问题四: 优化网络问题黑神话.悟空PS参考 关于Steam Deck Steam Deck是一款由Valve开发的便携式游戏PC&#xff0c;它搭载了A…

【内网渗透】最保姆级的2022网鼎杯半决赛复盘打靶笔记

目录 flag1 flag2 flag3 flag4 flag1 fscan什么也没扫到 访问是个web dirsearch开扫 访问./wp-admin 弱口令admin:123456登录 编辑主题文件 在header.php中插入一句话木马 header.php位置&#xff1a;https://tw.godaddy.com/help/change-the-header-in-wordpress-264…

Python 实现斐波那契数列的方法

以下是使用 Python 实现斐波那契数列的方法&#xff1a; def fibonacci(n): if n < 1: return n else: return fibonacci(n - 1) fibonacci(n - 2) # 打印前 10 个斐波那契数 for i in range(10): print(fibonacci(i)) 在这个代码中&#xff0c;定义了一个函数 fibonacc…

IntelliJ IDEA 中上传项目到 Gitee 的完整指南

博主主页:【南鸢1.0】 本文专栏&#xff1a;git 目录 简介 1.插入intellij-gitee 2.导入下载插件 3.选择导航栏中的VCS->Share Project on Gitee 4.登录gitee 6.验证gitee仓库是否创建成功 7.上传分享项目 8.验证仓库代码是否上传成功 总结 简介 Gitee 是一个代码…

【p2p、分布式,区块链笔记 分布式容错算法】: 拜占庭将军问题+实用拜占庭容错算法PBFT

papercodehttps://pmg.csail.mit.edu/papers/osdi99.pdfhttps://github.com/luckydonald/pbft 其他相关实现&#xff1a;This is an implementation of the Pracltical Byzantine Fault Tolerance protocol using PythonAn implementation of the PBFT consensus algorithm us…

简单的kafkaredis学习之redis

简单的kafka&redis学习之redis 2. Redis 2.1 什么是Redis Redis是一种面向 “Key-Value” 数据类型的内存数据库&#xff0c;可以满足我们对海量数据的快速读写需求&#xff0c;Redis是一个 NoSQL 数据库&#xff0c;NoSQL的全称是not only sql&#xff0c;不仅仅是SQL&…

无人机之卫星通信技术篇

无人机的卫星通信技术是一种利用人造地球卫星作为中继站来转发无线电波&#xff0c;从而实现无人机与地面控制站之间通信的技术。 一、技术概述 卫星通信系统主要由通信卫星和经该卫星连通的地球站两部分组成。在无人机应用中&#xff0c;卫星通信技术能够确保无人机在全球范围…

网鼎杯 misc -好久不见4

不嘻嘻&#xff0c;没见过这种题&#xff0c;需要把这个红线还原重组成二维码&#xff0c;搜索一个是这个Peano曲线 from PIL import Image from tqdm import tqdmdef peano(n):if n 0:return [[0, 0]]else:in_lst peano(n - 1)lst in_lst.copy()px, py lst[-1]lst.extend(…

ARM base instruction -- adcs

Add with Carry, setting flags, adds two register values and the Carry flag value, and writes the result to the destination register. It updates the condition flags based on the result. 带进位加法&#xff0c;设置标志&#xff0c;将两个寄存器值和进位标志值相…