用递归对字符串进行倒序C语言不用指针
时间: 2024-11-25 08:15:04 浏览: 31
在C语言中,可以利用递归函数来实现字符串的倒序,而不需要直接使用指针操作。下面是一个简单的示例,它定义了一个名为`reverseString`的递归函数,接收一个指向字符串首字符的指针,并返回倒序后的结果:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void reverseString(char* str, int start, int end);
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin); // 读取用户输入并去掉换行符
str[strcspn(str, "\n")] = '\0'; // 删除fgets添加的换行符
// 调用函数,传入空字符串起始位置(0)和结束位置(字符串长度减1)
reverseString(str, 0, strlen(str) - 1);
printf("Reversed String: %s\n", str);
return 0;
}
// 递归实现字符串反转
void reverseString(char* str, int start, int end) {
if (start >= end) // 递归基础条件:当开始索引大于等于结束索引时,结束递归
return;
// 交换当前索引和结束索引处的字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 继续递归处理剩余部分
reverseString(str, start + 1, end - 1);
}
```
阅读全文
相关推荐


















