首页后端开发其他后端知识C语言中怎样将字符串反转,方法是啥?

C语言中怎样将字符串反转,方法是啥?

时间2024-03-28 15:38:03发布访客分类其他后端知识浏览388
导读:这篇文章给大家分享的是C语言中实现将字符串反转的示例,下文主要是将以字符数组的形式来进行操作。小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,接下来就跟随小编一起了解看看吧。 代码实现 #include <st...

这篇文章给大家分享的是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;

}
    

运行结果

网上参考

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

}
    

总结

以上就是C语言中实现将字符串反转的示例,本文只是提供了一种实现思路,代码仅供参考,需要的朋友可以了解看看,希望对大家学习有帮助,想要了解更多可以继续浏览网络其他相关的文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C语言中怎样将字符串反转,方法是啥?
本文地址: https://pptw.com/jishu/655034.html
C语言里怎样做进制转换,思路和方法是什么? JavaScript中JSON如何理解,用法是什么

游客 回复需填写必要信息