亲爱的,我有以下 C 代码,它给了我答案 = 11 正确,但我无法在这里选择重点。如果有钥匙,请解释。
包括
using namespace std;
int main()
{
#define square(x) x*x
cout<<square(3+2);
return 0;
}
square(3+2)
扩展为3+2*3+2
,其计算结果为3 + (2 * 3) + 2
。
#define square(x) ((x) * (x))
应该做你想做的事。
(内括号解决您提出的问题,外括号解决您尚未发现的问题:P事实上,让它SQUARE
,以防万一,为了另一个问题。阅读TruthSeeker的链接了解详细信息。