#include <stdio.h>
#define Mul(x,y) ++x*++y
using namespace std;
int main()
{
int a=1;
int b=2;
int c=3;
printf("%d\n",Mul(a+b,b+c));
cout<<a+b<<endl<<b+c<<endl;
return 0;
}
宏是字符串替换,把字符串代到宏调用里就清楚了:Mul(a+b,b+c)-->++a+b*++b+c-->2+3*3+3=14
本文通过一个具体的C语言宏定义示例解释了宏是如何工作的。宏`Mul(x,y)`被定义为`++x*++y`,文章展示了当使用`Mul(a+b,b+c)`时宏展开的过程,并计算出最终结果。
1662

被折叠的 条评论
为什么被折叠?



