C语言通过函数reverse将一个字符串逆序
时间: 2024-11-22 16:42:33 浏览: 14
在C语言中,我们可以使用递归或者迭代的方式来实现字符串反转。这里是一个简单的使用迭代方法的例子:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,接受指向字符数组的指针以及数组长度
void reverse(char* str, int len);
int main() {
char str[] = "Hello, World!";
int n = strlen(str);
// 输出原始字符串
printf("Original string: %s\n", str);
// 反转字符串并输出
reverse(&str[0], n);
printf("Reversed string: %s\n", str);
return 0;
}
// 实现字符串反转的函数
void reverse(char* str, int len) {
if (len > 1) { // 如果字符串长度大于1,则继续处理
char temp = str[len - 1]; // 保存最后一个字符
str[len - 1] = str[len - 2]; // 将倒数第二个字符移动到最后
str[len - 2] = temp; // 把保存的字符放回原位
// 递归调用自身,处理剩余部分
reverse(str, len - 2); // 减一是因为已经处理了两个字符
}
}
```
这个程序会打印出"Reversed string: !dlroW ,olleH"。
阅读全文