编写一个函数 void reverseString(char* str),实现将一个字符串进行反转。不能使用标准 库函数 strrev
时间: 2024-10-07 19:02:27 浏览: 33
可以使用双指针法编写一个简单的 C 语言函数来实现字符串反转。这个函数接受一个字符数组 `str` 的地址作为输入,然后通过交换首尾字符并逐个向中间移动指针来达到反转的效果。以下是函数的实现:
```c
#include <stdio.h>
void reverseString(char* str) {
if (str == NULL || *str == '\0') { // 检查字符串是否为空
return;
}
char* start = str; // 初始化开始指针
char* end = str + strlen(str) - 1; // 初始化结束指针
while (start < end) { // 当两个指针未相遇时
// 交换当前指向的字符
char temp = *start;
*start = *end;
*end = temp;
// 移动指针
start++;
end--;
}
}
// 示例用法
int main() {
char testStr[] = "Hello, World!";
printf("Original string: %s\n", testStr);
reverseString(testStr);
printf("Reversed string: %s\n", testStr);
return 0;
}
```
当你运行这个程序,输入的字符串 "Hello, World!" 将会变成 "!dlroW ,olleH"。
阅读全文