阅读下面程序写出执行或输出结果: #define M(x,y,z) x*y+z main() { int a=1,b=2, c=3; printf("%d\n",M(a

阅读下面程序写出执行或输出结果:
#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+a));
}

会的指点下 谢谢大家了。

输出12
宏不是函数,只是逐字替换,它会把M(a+b,b+c, c+a)变成1+2*2+3+3+1,就是12了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-03-20
就是不加括号直接将x换成a+b,每个位置替换后再用计算。
第2个回答  2022-04-12
正解x*y+z=a+b*b+c+c+a
答案为12

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网