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