c14宏函数.cpp
#include <iostream>
using namespace std;
// #define PI 3.14
// 宏函数
// 宏函数缺陷1: 必须用括号保证运算的完整性
#define MY_ADD(x,y) ((x)+(y))
// 宏函数缺陷2:即使加了括号,有些运算依然与预期不符
#define MY_COM(a,b) (((a) < (b)) ? (a) : (b))
// 普通函数 不会出现与与其不符的恩情况
// void my_com_pu()
// {
// }
int main()
{
// 缺陷1:
// int a = 10;
// int b = 20;
// int res = MY_ADD(a,b);
// int res = MY_ADD(a,b) * 2; // a + b * 2 // 结果为50
// int res = (MY_ADD(a,b)) * 2; // (10 + 20) * 2
// int res = MY_ADD(a, b) * 2;
// cout << res << endl;
//
// 缺陷2:
int a = 10;
int b = 20;
int res = MY_COM(++a,b); // 我认为是11 实际展开结果为:++a < b ? ++a : b 实际结果为12
cout << res << endl;
return 0;
}