判断字符串是否为回文的C语言代码
时间: 2025-01-27 21:14:30 浏览: 39
以下是一个用C语言编写的判断字符串是否为回文的代码示例:
```c
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
bool isPalindrome(char str[]) {
int left = 0;
int right = strlen(str) - 1;
while (left < right) {
if (str[left] != str[right]) {
return false;
}
left++;
right--;
}
return true;
}
int main() {
char str[100];
printf("请输入一个字符串: ");
scanf("%s", str);
if (isPalindrome(str)) {
printf("\"%s\" 是回文\n", str);
} else {
printf("\"%s\" 不是回文\n", str);
}
return 0;
}
```
这段代码的工作原理如下:
1. 定义了一个名为 `isPalindrome` 的函数,它接受一个字符串作为参数。
2. 使用两个指针 `left` 和 `right` 分别指向字符串的开始和结束。
3. 在一个循环中,我们比较这两个位置的字符:
- 如果字符不相同,函数返回 `false`。
- 如果字符相同,我们移动 `left` 指针向前移动,`right` 指针向后移动。
4. 如果整个字符串都被检查完毕且所有对应的字符都相同,则函数返回 `true`。
5. 在 `main` 函数中,我们从用户那里获取输入字符串,然后调用 `isPalindrome` 函数来判断它是否为回文。
这个程序可以处理任何长度的字符串,只要它不超过 99 个字符(因为我们声明的数组大小是 100)。
阅读全文
相关推荐

















