#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
int main()
{
int reverse_string(char *string);//函数原型声明
char str[MAXSIZE];//数组最大下标
scanf("%s", str);
printf("%s\n", str);
reverse_string(str);
}
int reverse_string(char *string)
{
char *tail = NULL;
char *head = NULL;
head = string;
tail = string;
while(*(++tail));//调整tail指针指向字符串尾部
tail--;//在while判断时多移动一个位置
printf("*head:%c\n", *head);
printf("*tail:%c\n", *tail);
while ((tail >= head) && (*tail== *head))
{
//当前位置对称,指针往后移动
//不对称,或者尾指针小于头指针,就结束比较
tail--;
head++;
}
//尾指针大于等于头指针,说明不是回文
//因为没有比较完字符串中的所有元素就中断了循环,存在*tail != *head的情况
if (tail >= head)
{
printf("Not reverse string.\n");
return -1;
}
printf("Yes.\n");
return 1;
}