用递归对字符串进行倒序C语言
时间: 2024-11-25 10:14:31 浏览: 14
digui.rar_字符倒序输出
在C语言中,可以使用递归来对字符串进行倒序操作。递归是一种函数调用自身的技术,这里我们可以通过一个简单的步骤实现:
```c
#include <stdio.h>
#include <string.h>
// 递归函数,接收指向字符数组的指针作为参数
void reverse(char* str) {
// 如果字符串为空或只有一个字符,则直接返回
if (*str == '\0' || *str == '\n') {
return;
}
// 递归调用,将第一个字符移到最后,并缩小待处理的子串范围
char temp = *str;
reverse(str + 1);
// 将移动后的字符放回原位置,实现倒序
*(str - 1) = temp;
}
int main() {
char str[] = "Hello, World!";
int len = strlen(str);
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
在这个例子中,`reverse()` 函数首先检查字符串是否结束,然后调用自身处理剩余部分。当只剩下最后一个字符时,递归结束,然后逐层返回并将字符逆序放置。
阅读全文