请各位大虾为我讲讲这道C语言编程题,谢谢
下面程序的运行结果是#defineM(z)(z)*(z)main(){printf("%d\n",M(1+2+3);}答案为什么是12啊,应该这样吧:(1+2+3)*(1...
下面程序的运行结果是
#define M(z) (z)*(z)
main()
{ printf("%d\n",M(1+2+3);}
答案为什么是12啊,应该这样吧:(1+2+3)*(1+2+3)=36 展开
#define M(z) (z)*(z)
main()
{ printf("%d\n",M(1+2+3);}
答案为什么是12啊,应该这样吧:(1+2+3)*(1+2+3)=36 展开
5个回答
展开全部
按照你的编程来看,(1+2+3)*(1+2+3)=36没错
如果把第一行改成#define M(z) z*z
则答案是1+2+3*1+2+3=11
如果把第一行改成#define M(z) z*z
则答案是1+2+3*1+2+3=11
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案错了,刚才在vs2008上实验一下。输出36.你可以自己写个程序测试一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可惜,在我电脑上运行,结果就是36
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没错,是36.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询