13.程序设计,分别用函数和带参数的宏,求3个数的最大值。
要点分析:用带参数的宏和函数可以实现同样的功能。使用函数时,写出函数值类型函数名和形参,形参要定义类型,求较大数的功能要在函数体内实现。当main()函数中调用该函数时,进行参数传递,去执行函数体,把最大值求出,通过return返回函数值,输出即可;使用带参宏定义时,写出宏名、形参,形参不需要写类型,求较大数的功能体现在字符串中,当main()中进行宏调用时,用实参替代形参,然后进行宏展开,输出最大值。
使用函数:
#include<iostream>
using namespace std;
int max(int num1, int num2, int num3) {
int result;
if(num1 >= num2 && num1 >= num3) {
result = num1;
} else if(num2 >= num1 && num2 >= num3) {
result = num2;
} else {
result = num3;
}
return result;
}
int main() {
int a, b, c;
cout << "Please enter 3 integers: ";
cin >> a >> b >> c;
int maxVal = max(a, b, c);
cout << "The maximum value is: " << maxVal << endl;
return 0;
}
使用带参数宏定义:
#include<iostream>
#define MAX(a,b,c) ((a>b&&a>c)?a:(b>c?b:c))
using namespace std;
int main() {
int a, b, c;
cout << "Please enter 3 integers: ";
cin >> a >> b >> c;
int maxVal = MAX(a, b, c);
cout << "The maximum value is: " << maxVal << endl;
return 0;
}