小区标牌:C语言问题3

来源:百度文库 编辑:高考问答 时间:2024/04/29 05:27:43
#define DOUBLE(r) r*r
main()
{ int x=1,y=2,t;
t=DOUBLE(x+y);
printf("%d\n",t);
}
的结果是5,谁可以帮我解释一下?我看不懂

1+2*1+2不是等于5等于多少啊?你以为是(1+2)*(1+2)啊?宏是不会改变什么的.