编函数实现字符串反转C
时间: 2024-09-25 10:06:36 浏览: 42
在C语言中,你可以使用数组和指针来编写一个简单的函数来实现字符串反转。这里是一个常见的方法,称为“双指针法”:
```c
#include <stdio.h>
#include <string.h>
// 定义反转字符串的函数
void reverse(char* str) {
if (str == NULL || strlen(str) <= 1) {
return; // 如果字符串为空或只有一个字符,直接返回
}
char start = 0;
char end = strlen(str) - 1; // 开始和结束指针初始位置
while (start < end) { // 当开始指针小于结束指针时,继续交换
// 交换字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 移动指针
start++;
end--;
}
}
int main() {
char test_str[] = "Hello, World!";
printf("Original String: %s\n", test_str);
reverse(test_str);
printf("Reversed String: %s\n", test_str);
return 0;
}
```
在这个例子中,`reverse` 函数接受一个指向字符串的指针,它首先检查字符串是否为空或长度为1,如果是,则无需操作。然后,它初始化两个指针 `start` 和 `end` 分别指向字符串的首尾,接着在循环中不断交换它们指向的字符,直到两个指针相遇。最后,在 `main` 函数中测试了这个函数的效果。
阅读全文