c语言用递归判断回文
时间: 2024-11-28 21:21:23 浏览: 17
在C语言中,你可以使用递归来判断一个字符串是否为回文。回文是指正读反读都一样的字符串,例如"level"、"radar"等。以下是递归函数的一个示例:
```c
#include <stdio.h>
#include <string.h>
// 定义递归函数
int isPalindrome(char str[], int start, int end) {
// 如果start等于end,说明已经检查到字符串中心,是回文
if (start >= end)
return 1;
// 检查字符串首尾字符是否相等
if (str[start] != str[end])
return 0;
// 继续递归,处理剩余部分
return isPalindrome(str, start + 1, end - 1);
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 防止末尾有换行符
input[strcspn(input, "\n")] = '\0'; // 删除换行符
// 调用函数并打印结果
if (isPalindrome(input, 0, strlen(input) - 1))
printf("%s 是回文\n", input);
else
printf("%s 不是回文\n", input);
return 0;
}
```
阅读全文