C语言实现字符串反转:使用字符指针
#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 函数来反转字符串。函数接收一个指向字符串的指针作为参数,并通过遍历字符串前半部分,交换首尾字符的方式实现反转。
代码分析:
#include <stdio.h>: 包含标准输入输出库,用于printf和fgets等函数。#include <string.h>: 包含字符串操作库,用于strlen函数。void reverseString(char *str): 定义函数reverseString,接受一个指向字符串的指针作为参数,无返回值。int len = strlen(str): 获取字符串长度,并将其存储在len变量中。for (int i = 0; i < len / 2; i++) {...}: 使用循环遍历字符串的前半部分,循环变量i从 0 开始,每次迭代加 1,循环条件为i < len / 2。char temp = str[i];: 将当前字符存储在临时变量temp中。str[i] = str[len - i - 1];: 将字符串末尾的字符赋值给当前位置的字符。str[len - i - 1] = temp;: 将临时变量temp中的字符赋值给字符串末尾的字符。
通过以上步骤,实现了字符串的反转,并最终输出反转后的字符串。
注意:
- 函数
fgets从标准输入流中读取一行文本,并存储在字符数组中,包括换行符。 - 字符串长度计算时,需要考虑换行符。
- 可以通过
strtok函数将字符串分割成单个单词,并分别反转。 - 可以使用递归的方式实现字符串反转。
希望本代码示例能够帮助您理解 C 语言中字符串反转的实现方法。
原文地址: http://www.cveoy.top/t/topic/ojIp 著作权归作者所有。请勿转载和采集!