字符串翻转

#include <iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<time.h>
#include<windows.h>

using namespace std;

/*
    字符串翻转
*/

#pragma warning(suppress : 4996)

void revise( char *s1, char *dest);
void revise2(char *s1);

int main() {
    char a1[] = "Hello Allen";
    char d1[100]="";
    //revise(a1, d1);
    //printf("%s", d1);

    revise2(a1);
    for (int i = 0; i < strlen(a1); i++)
    {
        printf("%c", a1[i]);
    }
    
    return 0;
}

//revise 在新的字符串中保存翻转后的结果
void revise( char *s1, char *dest) {
    int len = strlen(s1);
    int i;
    for ( i = 0; i < len; i++)
    {
        dest[len - 1 - i] = s1[i];
        printf("%c\n", s1[i]);
        printf("%c\n", dest[len - 1 - i]);
    }
    dest[len] = '\0';
}

//revise2 在原始字符串中保存翻转后的结果
void revise2(char *s1) {
    int len = strlen(s1);
    char *t = (char *)malloc(sizeof(char)*(len + 1));
    if (t == NULL)return;
    int i, j;
    for (i = 0; i < len; i++)
    {
        t[len - 1 - i] = s1[i];
        
    }
    t[len] = '\0';
    for ( j = 0; j < len; j++)
        s1[j] = t[j];
    free(t);
}

posted @   江南王小帅  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示