c语言用递归函数输出回文字符串
时间: 2024-11-24 09:25:27 浏览: 16
各种C语言字符串函数-笔试面试必备
在 C 语言中,递归函数可以用于输出回文字符串,因为回文字符串是指正读反读都一样的字符串。下面是一个简单的递归函数示例,它检查输入的字符串是否是回文,并打印出如果是回文的话:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
// 定义一个辅助函数,用于递归判断字符序列是否回文
bool isPalindrome(char str[], int start, int end) {
// 基线条件:如果起始位置大于或等于结束位置,那么它是回文
if (start >= end)
return true;
// 检查字符串的第一个和最后一个字符是否相等
if (str[start] != str[end])
return false;
// 递归调用,处理剩下的子串
return isPalindrome(str, start + 1, end - 1);
}
// 主函数,输出回文字符串
void printPalindrome(char str[]) {
if (isPalindrome(str, 0, strlen(str) - 1)) {
printf("给定字符串 '%s' 是回文。\n", str);
} else {
printf("给定字符串 '%s' 不是回文。\n", str);
}
}
int main() {
char input[] = "radar";
printPalindrome(input); // 测试一个例子
return 0;
}
```
当你运行这个程序时,如果输入的是回文字符串(如 "radar"),则会输出字符串是回文;如果不是,则输出不是。
阅读全文