c语言用指针判断是不是回文数的代码怎么写?回文数就是对称的类似12321和45654

c语言用指针判断是不是回文数的代码怎么写?回文数就是对称的类似12321和45654

问题描述:

c语言用指针判断是不是回文数的代码怎么写?回文数就是对称的类似12321和45654

//判断一个数是不是回文数
 
#include <stdio.h>
#include <assert.h>
 
int panduan(int *p)
{
    int t = 0;
    int n = *p;
    assert( *p != NULL );
    //每次取出最后一个数乘10加到前边去
    while( *p != NULL )
    {
        t = t * 10 + *p % 10;
        *p = *p / 10;
    }
    //如果是回文数就会相等
    if( t==n )
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int main()
{
    int a;
    printf("请输入一个整数:\n");
    scanf("%d",&a);
    if( panduan(&a) )
    {
        printf("yes\n");
    }
    else
    {
        printf("no\n");
    }
    return 0;
}