指针初接触,输入三个数字,按照从大到小的顺序输出

#include <stdio.h>

/* 输入三个数 从大到小输出 */

void main()
{
    void exchange(int *q1, int *q2, int *q3);

    int a, b, c, *q1, *q2, *q3;

    scanf("%d %d %d", &a, &b, &c);
    q1 = &a;
    q2 = &b;
    q3 = &c;
    exchange( q1, q2, q3 );
    printf("%d %d %d\n", a, b, c);
}

void exchange( int *q1, int *q2, int *q3 )
{
    void swap( int *pt1, int *pt2 );

    if( *q1 < *q2) 
    {
        swap( q1, q2 );
    }
    if( *q1 < *q3) 
    {
        swap( q1, q3 );
    }
    if( *q2 < *q3) 
    {
        swap( q2, q3 );
    }

}

void swap(int *pt1, int *pt2)
{
    int temp;

    temp = *pt1;
    *pt1 = *pt2;
    *pt2 = temp;
}

输出结果

 

 

 

posted @ 2012-11-03 22:57  无本之木a  阅读(474)  评论(0编辑  收藏  举报