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

Posted C语言中文社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言实例第07期:反转字符串相关的知识,希望对你有一定的参考价值。

技术干货第一时间送达!


往期回顾:







实例代码

//
// 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);
}

运行结果:

程序分析

注意:实例中有这样一个语句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





好文!点个好看!

以上是关于C语言实例第07期:反转字符串的主要内容,如果未能解决你的问题,请参考以下文章

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

C语言实例第08期:使用goto语句从循环中跳出

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

C语言实例第10期:控制台打印系统的日期和时间

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

C语言实例第11期:将3个数由大到小的顺序输出