1996-c-二

#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;
}