#include <stdio.h>
#define MUL1(x,y) x*y //乘法优先的散乘
#define MUL2(x,y) (x)*(y) //整体乘整体
#define MUL3(x,y) (x*y) //散乘之后做整体
int main() {
int m=2,n=3;
printf("%d\t%d\t%d\n",MUL1(m,m+n),MUL2(m,m+n),MUL3(m,m+n));
printf("%d\t%d\t%d\t",MUL1(m,m+n)*2,MUL2(m,m+n),MUL3(m,m+n)*2);
return 0;
}
//结果:7 10 7
//MUL1(m,m+n)----7=m*m+n=2*2+3
//MUL2(m,m+n)----10=m*(m+n)=2*(2+3)
//MUL3(m,m+n)----7=m*m+n=2*2+3
//-----------------------------
//结果:10 20 14
//MUL1(m,m+n)*2----10=m*m+n=2*2+3x2
//MUL2(m,m+n)*2----20=m*(m+n)=2*(2+3)x2
//MUL3(m,m+n)*2----14=m*m+n=[2*2+3]x2