C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少
结果是23,这是怎么算的?
C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少
答案:1 悬赏:20 手机版
解决时间 2021-07-19 06:50
- 提问者网友:孤凫
- 2021-07-18 23:59
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-07-19 00:30
掌握宏概念的关键是“换”.一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”.所以只要换就可以了:把B换成A*A,那么B*B就是A*A*A*A,然后把A换成3+2,结果就是:3+2*3+2*3+2*3+2=23;
不知道你理解了没有,如果是这样宏定义A的,那么结果又不一样了,#define A (3+2)
那么结果就是5*5*5*5,所以比它本来没括号,你不能习惯的加了括号,这是最容易犯错的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯