C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少结果是23,这是怎么算的?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 17:36:25
C语言设有如下宏定义:#defineA3+2#defineBA*A,则表达式B*B的值为多少结果是23,这是怎么算的?C语言设有如下宏定义:#defineA3+2#defineBA*A,则表达式B*B

C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少结果是23,这是怎么算的?
C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少
结果是23,这是怎么算的?

C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少结果是23,这是怎么算的?
掌握"宏"概念的关键是“换”.一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”.所以只要换就可以了:把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,所以比它本来没括号,你不能习惯的加了括号,这是最容易犯错的.