问题描述:
分别用函数和带参的宏,从三个数中找出最大的数。
样例输入:
1 2 3
样例输出:
3.000
3.000
代码分析:
函数与宏的使用:
函数 max() 用于找出三个实数中的最大值,通过比较大小并更新变量 max 的值来实现。
宏 MAX_MACRO 也是用于找出三个实数中的最大值,通过嵌套的条件表达式来实现。
代码实现:
#include <stdio.h>// 函数找出最大值
double max(double a, double b, double c) {double max = a;if (b > max) {max = b;}if (c > max) {max = c;}return max;
}// 宏找出最大值
#define MAX_MACRO(a, b, c) ((a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c))int main() {double num1, num2, num3;scanf("%lf %lf %lf", &num1, &num2, &num3);// 使用函数找出最大值double result_func = max(num1, num2, num3);printf("%.3lf\n", result_func);// 使用宏找出最大值double result_macro = MAX_MACRO(num1, num2, num3);printf("%.3lf\n", result_macro);return 0;
}