c语言中两个值的排序,指针在函数间的传递。

c语言中两个值的排序,指针在函数间的传递。

1、

#include <stdio.h>

void sap(int *x, int *y)
{
    int tmp;
    tmp = *x;
    *x = *y;
    *y = tmp;
}

void sort2(int *n1, int *n2)  // n1和n2为指针变量,接收实参&a和&b后成为指向a和b的指针, 
{
    if(*n1 > *n2)
        sap(n1, n2); //n1和n2前面不能使用指针运算符&,因为sap函数的形参为指针变量,需要指针作为参数,因此使用n1和n2指针即可,指针x、n1共同指向a,指针y、n2共同指向b。 
}

int main(void)
{
    int a, b;
    puts("please input two integers.");
    printf("a = "); scanf("%d", &a);
    printf("b = "); scanf("%d", &b);
    
    sort2(&a, &b);
    
    printf("\na = %d\n", a);
    printf("b = %d\n", b);
    
    return 0;
}

 

posted @ 2021-05-29 14:09  小鲨鱼2018  阅读(192)  评论(0编辑  收藏  举报