c语言输入一个字符串,如果字符串是一个回文字符串,返回 true;否则,返回 false。
时间: 2024-10-10 14:15:55 浏览: 41
在C语言中,判断一个字符串是否是回文字符串可以通过比较字符串正向和反向读取的内容来实现。首先,你需要接收用户输入的字符串,然后创建一个副本,从后向前遍历这个副本并与原字符串逐字符对比。如果两者相等,说明字符串是回文。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) { // 只需要比较一半字符,因为另一半已经对称了
if (str[i] != str[len - 1 - i]) {
return false;
}
}
return true;
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 注意这里要移除末尾的换行符
input[strcspn(input, "\n")] = '\0'; // 替换换行符
if (isPalindrome(input)) {
printf("是回文字符串。\n");
} else {
printf("不是回文字符串。\n");
}
return 0;
}
```
在这个代码中,`isPalindrome`函数检查字符串是否是回文,如果是则返回`true`,否则返回`false`。主函数中获取用户的输入并调用这个函数进行检测。
阅读全文