.宏定义 #define fun(a,b,x) a*x+b ,请写出下列语句的输出结果是

.宏定义 #define fun(a,b,x) a*x+b ,请写出下列语句的输出结果是
.宏定义 #define fun(a,b,x) a*x+b ,请写出下列语句的输出结果是 、 .
printf(“%d %dn”,fun(1,2,3),fun(fun(2,3,4),5,6))
abc5254 1年前 已收到1个回答 举报

lianggdufs 幼苗

共回答了26个问题采纳率:80.8% 举报

fun(1,2,3)1*3+2
结果为 5fun(fun(2,3,4),5,6)2*4+3*6+5
结果为 31

1年前 追问

2

abc5254 举报

第二个求解,为什么是31啊?

举报 lianggdufs

8+18+5=31
这是宏函数必讲的一个细节,宏替换是不会自带括号的,全部替换完成后一起计算。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.029 s. - webmaster@yulucn.com