使用【c语言】写【判断字符串是否为回文字符串】的代码
时间: 2024-12-18 08:35:27 浏览: 5
C语言判断回文字符串代码.rar
5星 · 资源好评率100%
在C语言中,判断一个字符串是否为回文字符串(正读反读都一样的字符串)可以采用双指针法,从两端开始比较字符是否相等。以下是详细的代码示例:
```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;
}
start++; // 向右移动左指针
end--; // 向左移动右指针
}
return 1; // 如果所有字符都匹配,说明是回文
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 注意去掉字符串末尾的换行符
str[strcspn(str, "\n")] = '\0'; // 替换换行符
if (isPalindrome(str)) {
printf("%s 是回文字符串\n", str);
} else {
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
在这个程序中,`isPalindrome` 函数接受一个字符串作为参数,通过两个指针`start`和`end`从两端向中间遍历并比较字符,如果找到不匹配的字符则返回0(非回文),否则返回1(回文)。`main`函数中用户输入字符串后,调用这个函数并打印结果。
阅读全文