#define A(x) x*x A(A(1+1))*2 ,怎么分析??

2025-06-27 23:42:50
推荐回答(1个)
回答1:

#define A(x) x*x A(A(1+1))*2

这个形式??

这个宏函数在C/C++中无法使用吧?中间带空格,并且带递归,虽然定义没问题,可预处理无法完成这样的递归替换吧。

如果后面的是调用,这个就很简单了吧,因为宏定义没有括号,那么

#define A(x) x*x

 A(A(1+1))*2

就会扩展为:

1+1*1+1*1+1*1+1*2

结果为6