【发布时间】:2021-11-23 09:52:06
【问题描述】:
#include <stdio.h>
#define SQRT(X)X*X
int main(){
int x=16/SQRT(4);
printf("%d",x);
return 0;
}
这个输出是16,为什么?首先我定义了宏,然后尝试进行计算
【问题讨论】:
-
@AlexF,
SQRT(2+2)会是什么? -
请问为什么“square”这个词缩写为“SQRT”?那里没有“t”。
-
@tstanisl - 永远让你的敌人猜测。上是下,左是右,平方是 SQRT。
-
在使用之前,您需要在初级 C 书籍中学习如何编写类似函数的宏。这是一个超级常见的常见问题解答,任何一本正经的书都会解决。
-
SQRT 通常会做与
sqrt(4) = 2、sqrt(9) = 3相反的事情,这个名字被采用!!。除非您想混淆代码阅读器,否则不要使用它。#