c 语言判断回文字符串头歌
时间: 2023-09-11 21:09:28 浏览: 75
可以使用双指针来判断一个字符串是否为回文字符串。具体实现可以按照以下步骤:
1. 定义两个指针,一个指向字符串开头,一个指向字符串结尾。
2. 每次比较指针所指向的字符是否相同,如果不同,则该字符串不是回文字符串。
3. 如果相同,则将指针往中间移动,继续比较下一对字符,直到两个指针相遇或者交错。
参考代码如下:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str) {
int len = strlen(str);
int left = 0, right = len - 1;
while (left < right) {
if (str[left] != str[right]) {
return 0;
}
left++;
right--;
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
注意,上述代码中只考虑了字符串中只包含字母的情况,如果字符串中还包含其他字符,需要根据实际情况进行修改。