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

void reverseString(char *str);

int main() {
    char str[101];
    printf('请输入一个字符串:');
    fgets(str, 101, stdin); // 从键盘输入字符串
    reverseString(str); // 反转字符串
    printf('反转后的字符串为:%s
', str); // 输出反转后的字符串
    return 0;
}

void reverseString(char *str) {
    int len = strlen(str);
    for (int i = 0; i < len / 2; i++) {
        char temp = str[i];
        str[i] = str[len - i - 1];
        str[len - i - 1] = temp;
    }
}

本代码使用 reverseString 函数来反转字符串。函数接收一个指向字符串的指针作为参数,并通过遍历字符串前半部分,交换首尾字符的方式实现反转。

代码分析:

  1. #include <stdio.h>: 包含标准输入输出库,用于 printffgets 等函数。
  2. #include <string.h>: 包含字符串操作库,用于 strlen 函数。
  3. void reverseString(char *str): 定义函数 reverseString,接受一个指向字符串的指针作为参数,无返回值。
  4. int len = strlen(str): 获取字符串长度,并将其存储在 len 变量中。
  5. for (int i = 0; i < len / 2; i++) {...}: 使用循环遍历字符串的前半部分,循环变量 i 从 0 开始,每次迭代加 1,循环条件为 i < len / 2
  6. char temp = str[i];: 将当前字符存储在临时变量 temp 中。
  7. str[i] = str[len - i - 1];: 将字符串末尾的字符赋值给当前位置的字符。
  8. str[len - i - 1] = temp;: 将临时变量 temp 中的字符赋值给字符串末尾的字符。

通过以上步骤,实现了字符串的反转,并最终输出反转后的字符串。

注意:

  • 函数 fgets 从标准输入流中读取一行文本,并存储在字符数组中,包括换行符。
  • 字符串长度计算时,需要考虑换行符。
  • 可以通过 strtok 函数将字符串分割成单个单词,并分别反转。
  • 可以使用递归的方式实现字符串反转。

希望本代码示例能够帮助您理解 C 语言中字符串反转的实现方法。

C语言实现字符串反转:使用字符指针

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

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