您好,登錄后才能下訂單哦!
要檢查C語言字符串是否為回文,可以使用雙指針方法
#include<stdio.h>
#include<string.h>
int is_palindrome(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 (is_palindrome(str)) {
printf("這是一個回文字符串\n");
} else {
printf("這不是一個回文字符串\n");
}
return 0;
}
在此示例中,我們首先從用戶那里獲取輸入的字符串。然后,我們調(diào)用is_palindrome()
函數(shù)來檢查字符串是否為回文。該函數(shù)使用兩個指針,一個從字符串的開頭開始,另一個從字符串的結(jié)尾開始。我們將這兩個指針?biāo)赶虻淖址M(jìn)行比較。如果它們不相等,則說明該字符串不是回文。如果在遍歷過程中沒有發(fā)現(xiàn)不相等的字符,那么該字符串就是回文。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。