#include<stdio.h>
#include<string.h>
int main(){
char str[21]; // 声明一个字符数组,用于存储输入的字符串,长度为20加上一个结束符'\0'
int i, k; // 声明两个整型变量,用于索引和比较字符串
// 读取用户输入的字符,直到遇到换行符或数组长度达到20
i = 0; // 初始化索引变量i为0
while((str[i] = getchar()) != '\n' && i < 20){
i++; // 索引自增,用于读取下一个字符
}
str[i] = '\0'; // 在字符串末尾添加字符串结束符'\0'
// 初始化变量k为0,i为字符串末尾的索引(最后一个字符的索引)
k = 0;
i--;
// 使用双指针方法比较字符串的前后字符是否相同
while(k < i){
if(str[k] != str[i]){ // 如果前后字符不同,则跳出循环
break;
}
k++; // 前指针向后移动
i--; // 后指针向前移动
}
// 如果k大于或等于i,说明所有对应的字符都相同,字符串是回文
if(k >= i){
printf("YES"); // 打印"YES",表示字符串是回文
} else {
printf("NO"); // 打印"NO",表示字符串不是回文
}
return 0; // 程序结束,返回0
}
标签:字符,20,数组,索引,str,字符串,回文
From: https://blog.csdn.net/2401_87781924/article/details/144126768