c语言数组判断回文字符串
时间: 2024-11-28 14:21:19 浏览: 12
在C语言中,判断一个字符串是否是回文可以使用数组来存储字符串的字符,并通过两头指针从两端向中间遍历来检查字符是否相同。下面是一个简单的步骤:
1. 定义两个指针,一个指向字符串开始(str[0]),另一个指向字符串结束(str[strlen(str)-1])。
2. 使用while循环,当两个指针相遇或它们指向的字符相等时,继续比较下一个字符。如果任何时候发现左边的字符不等于右边的字符,则该字符串不是回文。
3. 如果循环完成后都没有提前退出,说明整个字符串都是回文。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
if (str[start] != str[end]) {
return 0; // 回文字符串错误,返回0表示不是回文
}
start++;
end--;
}
return 1; // 所有字符都匹配,返回1表示是回文
}
int main() {
char test[] = "madam";
if (isPalindrome(test)) {
printf("%s 是回文字符串\n", test);
} else {
printf("%s 不是回文字符串\n", test);
}
return 0;
}
阅读全文