C语言字符串反转:代码示例及解析

本文将展示如何使用C语言编写程序,实现字符串的反转功能。程序将读取用户输入的字符串,对其进行反转操作,并输出反转后的结果。

代码实现

#include <stdio.h>
#include <string.h>

int main() {
    char str[100];
    int len, i;

    // 读取用户输入的字符串
    printf('请输入一个字符串:');
    scanf('%s', str);

    len = strlen(str);

    // 反转字符串
    for (i = 0; i < len / 2; i++) {
        char temp = str[i];
        str[i] = str[len - i - 1];
        str[len - i - 1] = temp;
    }

    // 输出反转后的字符串
    printf('反转后的字符串为:%s\n', str);

    return 0;
}

代码解释

  1. 头文件包含: 代码开头包含了<stdio.h><string.h>两个头文件。

    • <stdio.h> 提供了标准输入输出函数,如 printfscanf
    • <string.h> 提供了字符串操作函数,如 strlen
  2. 变量声明: 程序声明了三个变量:

    • str[100]: 用于存储用户输入的字符串,最多可存储 100 个字符。
    • len: 用于存储字符串的长度。
    • i: 用于循环控制。
  3. 读取输入: scanf('%s', str) 用于从用户输入中读取一个字符串,并将它存储在 str 数组中。

  4. 计算长度: len = strlen(str) 使用 strlen 函数获取字符串的长度,并将结果存储在 len 变量中。

  5. 反转字符串: for 循环用于对字符串进行反转。

    • 循环从 i = 0 开始,一直迭代到 i < len / 2。 因为我们只需要交换前半部分和后半部分的字符,所以循环的迭代次数为字符串长度的一半。
    • 循环内部首先将 str[i] 的值存储在 temp 变量中,然后将 str[len - i - 1] 的值赋给 str[i],再将 temp 的值赋给 str[len - i - 1]。这样就完成了对 str[i]str[len - i - 1] 两个字符的交换。
  6. 输出结果: printf('反转后的字符串为:%s\n', str) 将反转后的字符串输出到屏幕上。

运行示例

输入:

Hello, world!

输出:

!dlrow ,olleH

总结

本文通过 C 语言代码示例展示了字符串反转的实现过程。通过循环遍历字符串并交换前后位置的字符,即可实现字符串的反转。该代码逻辑清晰,易于理解,可供学习参考

C语言字符串反转:代码示例及解析

原文地址: https://www.cveoy.top/t/topic/nW7L 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录