宏的问题
#include <math.h>
#define S(a,b,c) 1/2*(a+b+c)
#define area(a,b,c) sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c))
int main(void)
{
printf("the area is %f\n",area(3.0,4.0,5.0));
return 1;
}
这个程序报错,/var/tmp//ccwxCDKY.o(.text+0x2f): In function `main':
: undefined reference to `sqrt'
错误在哪儿啊?
[解决办法]
首先:#define S(a,b,c) (1/2*(a+b+c))
然后:修改你的链接选项,把数学库载入。