c语言如何判断是否是回文

655Z技术栈 C/C++编程 2026年01月07日 9

判断一个字符串是否是回文的方法可以使用双指针的方式。具体步骤如下:

  1. 定义两个指针,一个指向字符串的开头,一个指向字符串的末尾。

  2. 当两个指针指向的字符相同时,将两个指针分别向字符串的中间移动,继续比较下一个字符。

  3. 如果两个指针指向的字符不相等,则字符串不是回文。

  4. 重复步骤2和3,直到两个指针相遇或者交叉(当字符串长度为奇数时,相遇;当字符串长度为偶数时,交叉)。

  5. 如果在整个过程中没有发现不相等的字符,则字符串是回文。

以下是一个示例代码:

#include <stdio.h> #include <stdbool.h> #include <string.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; }

输入一个字符串后,程序会输出该字符串是否是回文。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”