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("
a = %d
", a);
    printf("b = %d
", b);
    
    return 0;
}

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14825187.html