服务器之家

服务器之家 > 正文

C语言每日练习之字符串反转

时间:2022-02-21 15:34     来源/作者:小辉_Super

分析

在第18天:利用递归函数调用方式,将所输入的字符以相反顺序打印出来中,已经用过递归实现字符顺序输入,逆序输出,今天的题目是字符串反转,将以字符数组的形式来进行操作。

代码实现

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH  50 //最大长度
char *String_Invertion(char *str);
int main()
{
    char string[MAX_LENGTH];
    printf("请输入一个字符串\n");
    scanf("%s", string);
    String_Invertion(string);
    printf("反转后的字符串为%s\n", string);
    return 0;
}
/**
 * @brief 字符串反转函数
 * @param str 目标字符串
 * @return 反转后的字符串(str)
 */
char *String_Invertion(char *str)
{
    if(str == NULL)
        return NULL;
    int len = strlen(str);
    int i = 0;
    for(i = 0; i < len / 2; i++) //替换len/2次
    {
        /* (按位)异或交换法,其他交换法参考day27 */
        str[i] = str[i] ^ str[len - 1 - i];
        str[len - 1 - i] = str[i] ^ str[len - 1 - i];
        str[i] = str[i] ^ str[len - 1 - i];
    }
    return str;
}

运行结果

C语言每日练习之字符串反转

网上参考

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//  Created by www.runoob.com on 15/11/9.
//  Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include <stdio.h>
 
void reverse(char* s)
{
    // 获取字符串长度
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }
    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}
int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://xiaohuisuper.blog.csdn.net/article/details/120877346

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部