c语言判断一个字符串是否为回文串

avatar
作者
筋斗云
阅读量:0

要判断一个字符串是否为回文串,可以采取以下步骤:

  1. 定义两个指针,一个指向字符串的开头,一个指向字符串的结尾。
  2. 对于每一对指针指向的字符,比较它们是否相等。如果相等,则将两个指针都向中间移动一位;如果不相等,则说明字符串不是回文串。
  3. 重复步骤2,直到两个指针相遇或者交叉。
  4. 如果两个指针相遇,则说明字符串是回文串;如果两个指针交叉,则说明字符串不是回文串。

下面是一个示例代码:

#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("请输入一个字符串:");     scanf("%s", str);      if(isPalindrome(str)) {         printf("%s 是回文串\n", str);     } else {         printf("%s 不是回文串\n", str);     }          return 0; } 

上述代码通过比较字符串的首尾字符来判断是否为回文串。在比较过程中,如果发现不相等的字符,则可以直接返回0,表示不是回文串。最后根据函数返回值来输出结果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!