C语言运用数组读入字符串判断是否为回文

                        运行代码及解析

#include<stdio.h>
int main(void)
{
	int i,k;
	char c[20];
	printf("Enter a word:");
	k=0;//字符串一次输出赋值。
	while(1){
		c[k]=getchar();//从键盘读取字符
		if(c[k]=='\n')//如果输入回车赋值读取结束,开始进行下面的语段
			break;
		k++;
	}//此时k为0+输入多少个字符串的值
	i=0;//定义数组新变量
	k=k-1;
	while(c[k]==c[i])//让字符串从两边向里面依次比较
	{
		if(i==k)
			break;//比较到中间值while循环结束
		i++;
		k--;
	}
	if(i>=k)//如果比较到最中间的字符说明该字符串为会文
		printf("It is a palindrome\n");
	else
		printf("It is not a palindrom\n");
	return 0;
}

运行结果一

运行结果二

更多推荐

c语言:判断字符串是否为回文(超详解)