C中宏中括号的必要性我尝试使用宏的定义。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.
- 3 回答
- 0 关注
- 509 浏览
添加回答
举报
0/150
提交
取消