gpt4 book ai didi

c - C 宏中括号的必要性

转载 作者:太空狗 更新时间:2023-10-29 16:23:37 25 4
gpt4 key购买 nike

<分区>

我尝试在以下代码中使用宏 SQR 的定义:

#define SQR(x) (x*x)
int main()
{
int a, b=3;
a = SQR(b+5); // Ideally should be replaced with (3+5*5+3), though not sure.
printf("%d\n",a);
return 0;
}

它打印23。如果我将宏定义更改为 SQR(x) ((x)*(x)),则输出如预期的那样,64。我知道在 C 中调用宏会用宏的定义替换调用,但我还是不明白,它是如何计算 23 的。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com