判断字符串是否是回文 C语言
时间: 2024-09-25 17:00:32 浏览: 69
C语言 判断字符串是否是回文
5星 · 资源好评率100%
判断一个字符串是否是回文(即正读反读都一样的字符串),在C语言中可以使用双指针的方法,一个从前往后移动,另一个从后往前移动,比较对应的字符是否相等。以下是简单的步骤:
1. 定义两个指针,一个指向字符串开始(`str[0]`),另一个指向字符串结束(`str[strlen(str) - 1]`)。
2. 当两个指针相遇或交叉时,如果它们指向的字符相同,则继续向中间移动;如果不相同,说明这不是一个回文,直接返回false。
3. 当所有对应位置的字符都比较完毕,并且所有的字符都匹配,那么这个字符串就是回文,返回true。
下面是示例代码:
```c
#include <stdbool.h>
#include <string.h>
bool isPalindrome(char str[]) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
if (str[start] != str[end]) {
return false; // 字符不匹配,不是回文
}
start++;
end--;
}
return true; // 所有字符都匹配,是回文
}
// 使用示例
int main() {
char test[] = "madam";
if (isPalindrome(test)) {
printf("'%s' 是回文\n", test);
} else {
printf("'%s' 不是回文\n", test);
}
return 0;
}
```
阅读全文