帮我看看下面这个程序,我就是不知道#define的问题:
#define M(x,y,z) x*y+z
main()
{
int a=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+d));
}
上面那段程序的运行结果是什么啊?什么算的啊?
參考答案:#define M(x,y,z) x*y+z 展开此宏时不能自行加括号,直接原形展开即可
由int a=1,b=2,c=3;
得M(a+b,b+c,c+a)=a+b*b+c+c+d=1+2*2+3+3+1=12
笑话军事旅游美容女性百态母婴家电游戏互联网财经美女干货家饰健康探索资源娱乐学院 数码美食景区养生手机购车首饰美妆装修情感篇厨房科普动物植物编程百科知道汽车珠宝 健康评测品位娱乐居家情感星座服饰美体奢侈品美容达人亲子图库折扣生活美食花嫁风景 | 首页 |
帮我看看下面这个程序,我就是不知道#define的问题:
#define M(x,y,z) x*y+z
main()
{
int a=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+d));
}
上面那段程序的运行结果是什么啊?什么算的啊?
參考答案:#define M(x,y,z) x*y+z 展开此宏时不能自行加括号,直接原形展开即可
由int a=1,b=2,c=3;
得M(a+b,b+c,c+a)=a+b*b+c+c+d=1+2*2+3+3+1=12