【每日一函数】字符串反转

代码为:

c 复制代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void my_print(char *string)
{
    printf("The string is %s\n", string); /* 输出一个字符串 */
}

void my_print2(char *string)
{
    char *string2;
    int size, size2, i;
    size = strlen(string);
    size2 = size - 1;
    string2 = (char *)malloc(size + 1); /* 为string2分配存储空间 */
    for (i = 0; i < size; i++)          /* 将字符串string的内容复制到string2中 */
    {
        string2[size2 - i] = string[i];
    }
    string2[size] = '\0';                                   /* 添加'\0'结束符 */
    printf("The string printed backward is %s\n", string2); /* 输出字符串 */
}

int main(void)
{
    char my_string[] = "hello there"; /* 第一个字符串 */
    my_print(my_string);              /* 调用两个函数 */
    my_print2(my_string);
    return 0;
}

编译及执行:

bash 复制代码
➜  c git:(liucc) ✗ gcc -o string_reverse string_reverse.c
➜  c git:(liucc) ✗ ./string_reverse 
The string is hello there
The string printed backward is ereht olleh
相关推荐
comedate4 小时前
Windows / Linux GPU 虚拟内存布局差异与 CUDA 越界访问行为
linux·windows·mmu·cuda 越界访问
暴力求解6 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
ltl7 小时前
序列化格式深度对比:Protobuf、FlatBuffers、Cap’n Proto
linux
lengjingzju7 小时前
编译与调试完全指南—第17章 总结
linux
ltl7 小时前
容器网络性能真相:veth vs macvlan vs eBPF 数据面
linux
我不会插花弄玉8 小时前
9.进程间通信(上)【由浅入深-Linux】
linux·共享内存·进程通信
CSDN121109 小时前
麒麟 V10 安装 Node-RED、IEC 104 协议插件及界面汉化
linux·编辑器·vim
晨枫阳11 小时前
@changesets/cli是什么?哪些情况下需要使用?怎么使用
linux·运维·ubuntu
不会就选b12 小时前
Linux之网络基础(二)
linux·运维·网络
莫浅子13 小时前
Day 4:USB 2.0 时序与带宽预算
linux·运维·网络