溫馨提示×

C語言判斷回文字符串的方法是什么

小億
87
2024-03-02 12:57:22
欄目: 編程語言

判斷回文字符串的方法是首尾兩個字符逐個比較,依次向中間移動,直到兩個指針相遇或者左指針大于右指針。如果在比較過程中發(fā)現(xiàn)兩個字符不相等,則該字符串不是回文字符串。以下是用C語言編寫的判斷回文字符串的函數(shù):

#include <stdio.h>
#include <string.h>

int isPalindrome(char *str) {
    int len = strlen(str);
    int left = 0;
    int right = len - 1;

    while (left < right) {
        if (str[left] != str[right]) {
            return 0;
        }
        left++;
        right--;
    }

    return 1;
}

int main() {
    char str[100];
    printf("Enter a string: ");
    scanf("%s", str);

    if (isPalindrome(str)) {
        printf("The entered string is a palindrome.\n");
    } else {
        printf("The entered string is not a palindrome.\n");
    }

    return 0;
}

在上述代碼中,isPalindrome函數(shù)用于判斷輸入的字符串是否是回文字符串。首先獲取字符串的長度,然后使用兩個指針leftright分別指向字符串的首尾。在循環(huán)中,如果兩個指針指向的字符不相等,則返回0表示不是回文字符串。如果兩個指針相遇或者left大于right,則返回1表示是回文字符串。

0