判断是否为回文字符串c语言
时间: 2024-10-05 20:01:08 浏览: 37
判断一个字符串是否为回文(即正读反读都一样的字符串),在C语言中可以采用双指针法。基本步骤如下:
1. 定义两个指针,一个指向字符串的开头(`start`),另一个指向结尾(`end`)。
2. 比较这两个指针所指向的字符是否相等。如果相等,则继续移动指针;如果不等,则该字符串不是回文。
3. 当`start`小于等于`end`时,继续比较,直到它们交叉或相遇。
下面是一个简单的C语言函数示例,用于检查一个给定的字符串是否为回文:
```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; // 如果发现不匹配的字符,立即返回false
}
start++;
end--;
}
return true; // 所有字符都比较完,说明是回文,返回true
}
// 示例用法
int main() {
char str[] = "madam";
if (isPalindrome(str)) {
printf("%s 是回文\n", str);
} else {
printf("%s 不是回文\n", str);
}
return 0;
}
```
阅读全文