c语言 string_C语言实例第07期:反转字符串

点击上方“C语言中文社区”,选择“设为星标★

技术干货第一时间送达!

5e8493d3bd22d93e27498386fe4b8d1a.png

往期回顾:

C语言实例第01期,十进制数转换二进制数

C语言实例第02期,判断某一年是否为闰年

C语言实例第03期,使用*打印平行四边形

C语言实例第04期,在控制台打印出著名的杨辉三角

C语言实例第05期,实现投票统计功能

C语言实例第06期:交换数组中最大数和最小数的位置

实例代码

//
// Created by 冲哥 on 2020/9/14.
//实现功能:输入一个字符串,然后将该字符串反向输出
//

#include "stdio.h"
#include "string.h"

#define N 50

void convert_str(char str[N]);

void convert_str(char str[N]){
    int j;
    char temp;
    for (int i = 0; i strlen(str)/2; i++) {
        j = strlen(str) - 1;
        temp = str[i];
        str[i] = str[j - i];
        str[j - i] = temp;
    }
    printf("反向输出:%s", str);
}

int main(){
    char str[N];
    printf("请输入字符串:\n");
    gets_s(str, N);
    printf("输入的字符串为:%s\n", str);
    convert_str(str);
}

运行结果:59a6418597e93ce0ff8de6531b01eed1.png

程序分析

注意:实例中有这样一个语句j = strlen(str) - 1;这里j为什么是j = strlen(str) - 1;而不是strlen(str)呢?原因如下:如果数组s中含有10个元素,那么它的长度为10,而s的数组下标从0开始那么下标的最大值为9,j这里是代表数组下标,所以开始时的最大值应是strlen(str)-1也就是9。

应该很好理解,如有疑问,随时后台留言或者添加我们的交流群

「C语言交流群:回台回复【C语言】」

9.15

9a34d70335d361f1ffde3b475c5e4743.png

好文!点个好看!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值