C语言练习篇-6利用指针通过形参传值给主调函数

练习:编写一个函数,其功能是对传送过来的两个浮点数求出和值、两个数相差多大,并通过形参传送回调用函数。

void fun(double a, double b, double *ps, double *pd){
    *ps = a + b;
    *pd = (a - b) < 0 ? (- (a - b)) : (a - b);
}

int main() {

    double a = 10.6, b = 20.12;

    fun(a, b, &a, &b);

    printf("sum value = %f,diff value = %f\n",a,b);

    return 0;
}

练习:编写一个函数,对传送过来的三个数求出最大和最小数,并通过形参传送回调用函数。

void fun(double a, double b, double c, double *pmax, double *pmin){
    *pmax = a > b ? (a > c ? a : c) : (b > c ? b : c);
    *pmin = a < b ? (a < c ? a : c) : (b < c ? b : c);
}

int main() {

    double a = 10.6, b = 20.12, c = 30.24;

    double *pmax = &a, *pmin = &b;

    fun(a, b, c, pmax, pmin);

    printf("max = %f,min = %f\n", *pmax, *pmin);

    return 0;
}

你可能感兴趣的:(C语言练习篇)