c语言怎么判断是不是回文字符串
要判断一个字符串是否是回文字符串,可以使用以下步骤:
- 首先定义两个指针,分别指向字符串的开头和结尾。
- 然后循环比较两个指针所指向的字符是否相等,如果相等则继续向中间移动,直到两个指针相遇或者交叉。
- 如果在比较的过程中发现有不相等的字符,则说明该字符串不是回文字符串。
- 如果比较到最后两个指针相遇或者交叉,说明该字符串是回文字符串。
下面是一个示例代码:
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
while (start < end) {
if (*start != *end) {
return 0;
}
start++;
end--;
}
return 1;
}
int main() {
char str[] = "abcba";
if (isPalindrome(str)) {
printf("%s is a palindrome string.\n", str);
} else {
printf("%s is not a palindrome string.\n", str);
}
return 0;
}
在上面的示例代码中,我们定义了一个isPalindrome
函数来判断一个字符串是否是回文字符串。然后在main
函数中调用该函数来判断字符串"abcba"是否是回文字符串。