c语言 #define SUB(a) (a)-(a) main() { inta=2,b=3,c=

c语言 #define SUB(a) (a)-(a)
main()
{
inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(“%d\n”,d);}结果为-20怎么算

首先将SUB的参数a+b代入宏替换表达式相应部分
SUB(a+b) 等于 (a+b)-(a+b)
SUB(a+b)*c中宏替换后表达式为(a+b)-(a+b)*c
先计算(a+b)*c为25然后(a+b)-25结果是-20
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-16
d=SUB(a+b)*c = (a+b)-(a+b)*c = 5-5*5 = -20;
define是直接字面展开。本回答被提问者采纳