C语言中字符串反转怎么实现

发布时间:2021-11-11 13:30:41 作者:小新
来源:亿速云 阅读:446

这篇文章主要介绍C语言中字符串反转怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

代码实现

#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语言中字符串反转怎么实现

网上参考

//  Created by www.runoob.com on 15/11/9.
//  Copyright &copy; 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;
}

以上是“C语言中字符串反转怎么实现”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. “说反话”实现字符串反转
  2. java实现字符串反转

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言 字符串

上一篇:如何解决java连接zookeeper很慢的问题

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》