判断回文字符串c语言
时间: 2024-11-06 13:12:01 浏览: 3
判断一个字符串是否是回文字符串,即正读和反读都一样,可以使用C语言中的指针和循环结构来实现。这里是一个简单的算法:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
int isPalindrome(char str[], int start, int end);
int main() {
char str[100];
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 读取用户输入
str[strcspn(str, "\n")] = '\0'; // 去除换行符
if (isPalindrome(str, 0, strlen(str) - 1)) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
// 判断回文函数
int isPalindrome(char str[], int start, int end) {
while (start < end) { // 当前字符和对应反向字符比较
if (str[start] != str[end]) {
return 0; // 如果不相等,则不是回文
}
start++; // 移动开始位置
end--; // 移动结束位置
}
return 1; // 如果全部字符匹配,返回1表示是回文
}
阅读全文