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

代码为:

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
相关推荐
benjiangliu7 分钟前
LINUX系统-09-程序地址空间
android·java·linux
若风的雨13 分钟前
NCCL (NVIDIA Collective Communications Library) 中重要 API 的总结表
linux
j_xxx404_38 分钟前
Linux:自主shell命令行解释器附源码
linux·运维·服务器
开开心心就好1 小时前
开源免费高速看图工具,支持漫画大图秒开
linux·运维·服务器·安全·ruby·symfony·1024程序员节
花间相见1 小时前
【AI开发】—— Ubuntu系统使用nvm管理Node.js多版本,版本切换一键搞定(实操完整版)
linux·ubuntu·node.js
PPPPPaPeR.1 小时前
从零实现一个简易 Shell:理解 Linux 进程与命令执行
linux·开发语言·c++
Byte不洛2 小时前
Linux 多线程:生产者消费者模型、阻塞队列与条件变量详解
linux·多线程·并发编程·pthread·生产者消费者模型
小Pawn爷2 小时前
13.virtualbox安装ubuntu
linux·运维·ubuntu
VekiSon2 小时前
Linux内核驱动——Ubuntu 网络启动环境配置与操作
linux·arm开发·嵌入式硬件·ubuntu
YYYing.2 小时前
【Linux/C++进阶篇(二) 】超详解自动化构建 —— 日常开发中的“脚本” :Makefile/CMake
linux·c++·经验分享·ubuntu