递归回文判断


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

//主函数,执行函数
int main() 
{
	char str[30],*ol=str;
	int hh,len;//回文判断 
	char *ok;
	int kk(char *ol,char *ok);
	while(scanf("%s",ol)!=EOF){
		len=strlen(ol);
		ok=ol+len-1;//尾地址 
		hh=kk(ol,ok);
		if(hh==1)
		{
			printf("是\n");
		}
		else
		{
			printf("不是\n");
		} 
	}
}
//回文判断函数
int kk(char *ol,char *ok)
{
	int flag;
	if(ol>ok)
	{
		flag=1;
		return flag;
	}	
	if(*ol==*ok)
	{
		ol++;
		ok--;
		//printf("匹配下一个\n");
		kk(ol,ok);
	   }
	else
	{
		//printf("不匹配结束\n");
		flag=0; 
		return flag;
	   }
	return 0;
}

版权声明:本文为gghvjvxh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。