作业帮 > 综合 > 作业

#define A(n) 2*n+1 则表达式A(2+3)的值是

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/03 01:36:06
#define A(n) 2*n+1 则表达式A(2+3)的值是
能再相信一些么 不理解的就是 为什么 A(2+3) 就变成了 2*2+3+1 新手 初学 请多说一点
1、宏是简单替换,也就是说会将'2+3'直接替换为后面表达式中的n
因此变为 2* 2 + 3 + 1
如果你期望 2*(2+3)+1
做法有两种
方法1:
#define A(n) 2*(n) + 1
方法2:
在现有宏基础上,调用处修改为 A((2+3))
2、运算过程如下(按照运算符优先级计算:'()' > '!' > '||'):
!(3