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 实际结果为12cout << res << endl;return 0;
}