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

代码为:

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
相关推荐
zzzyyy5381 小时前
TCP 协议学习笔记:从报文格式到异常处理
linux·网络
傲世仙尊1 小时前
ELF与动态库进阶-链接真相与GOT表
linux
M78佐菲2 小时前
ARM学习笔记(五)
linux·arm开发·笔记·嵌入式硬件·学习
H_oRIZoN_2 小时前
Linux入门DAY45 IMX6ULL 裸机开发笔记:汇编点灯、C 语言点灯、GIC 中断梳理
linux·单片机·嵌入式硬件
临期冰淇淋3 小时前
Unisoc 展锐平台Camera摄像头分辨率适配
linux·c语言·驱动开发
流浪0014 小时前
Linux系统篇36——线程(一) 线程的概念、本质和Linux的实现方式
linux·面试·操作系统·线程
从零开始的嵌入式之旅4 小时前
day46
linux·arm开发·笔记·嵌入式硬件
虚无的纽扣5 小时前
【Linux】将进程知识与基础IO融会贯通——简单自定义Shell的实现
linux·ubuntu
傲世仙尊5 小时前
预处理详解-define宏井号条件编译一篇过
linux·c语言
忆挽篱笙歌5 小时前
linux基本指令
linux