亲爱的,我有以下 C 代码,它给了我答案 = 11 正确,但我不能在这里挑重点。请解释是否有钥匙。
using namespace std;
int main()
{
#define square(x) x*x
cout<<square(3+2);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
square(3+2)扩展为3+2*3+2,其计算结果为3 + (2 * 3) + 2。
#define square(x) ((x) * (x)) 应该做你想做的。
(内括号解决了您提出的问题,外括号解决了您尚未发现的问题 :P 事实上,为了SQUARE以防万一,再解决另一个问题。阅读TruthSeeker 的链接了解详细信息。)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |