为什么用sqr表示开方?
一、sqrt是C语言的库函数,声明于math.h中。形式为double sqrt(double n);功能为求n的算术平方根,并返回。当n值非法(n<0)时会出错。
二、sqr在C语言中没有明确定义,不属于库函数或关键字。如果在C语言中出现sqr,那么可能是自定义函数或宏定义。
不过在一些其它语言中,sqr是用来求算数平方根的,类似于C的sqrt。
在Pascal中,sqr为求某数的平方。从这个角度上看,在C中如果出现sqr那么也应是求平方根或者求平方,具体含义还要看如何实现。
c语言中sqrt与sqr区别是什么?
sqrt是C语言的库函数,声明于math.h中。形式为doublesqrt(doublen);功能为求n的算术平方根,并返回。当n值非法(n<0)时会出错。
sqr在C语言中没有明确定义,不属于库函数或关键字。如果在C语言中出现sqr,那么可能是自定义函数或宏定义。不过在一些其它语言中,sqr是用来求算数平方根的,类似于C的sqrt。在Pascal中,sqr为求某数的平方。从这个角度上看,在C中如果出现sqr那么也应是求平方根或者求平方,具体含义还要看如何实现。
C语言宏替换函数?
#define SQR(X) X*X 有问题;因为宏替换只是简单的符号替换,当计算 SQR(k + m)/SQR(k + m) 时,是这样替换的:k + m * k + m / k + m * k + m,即:2 +
1 *
2 + 1 / 2 + 1 * 2 + 1,结果为 7, 又 a /= SQR(k + m)/SQR(k + m),即 a = 10 / 7,结果为 1(这里是整数运算,小数均被忽略),故选 B。所以 #define SQR(X) X*X 明显违背本意,正确的定义是: #define SQR(X) (X)*(X) (普通加减乘除运算无问题,遇到优先级教乘除更高的运算又会出现错误),最稳妥的是: #define SQR(X) ((X)*(X))。