为什么‘abs' was not declar... 会报这个错误
#include<stdio.h>#include<math.h>
int main()
{
int a,b,c,d,e,f,s;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c && a+c>b && c+b>a)
{d=(a*a+b*b-c*c)/2*a*b;
e=abs(d);
f=sqrt(1-e*e);
s=0.5*a*b*f;
printf("%d\n",s);
}
else printf("0\n");
return 0;
} 我明明加了#include<math.h> 函数名写错了
fabs() 没问题 本帖最后由 傻眼貓咪 于 2022-10-30 11:02 编辑
试试 fabs()
想用 abs() 就 #include <stdlib.h>,返回 int
<math.h> 没有 abs(),但一些编译器如 gcc 自带 abs(),不用 include 任何东西 我跑了一下没问题啊
fabs 是 小数单独的绝对值函数 估计是编译环境问题 abs不在math.h里面,abs在stdlib.h里面
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
int a, b, c, d, e, f, s;
scanf("%d%d%d", &a, &b, &c);
if(a + b > c && a + c > b && c + b > a) {
d = (a * a + b * b - c * c) / 2 * a * b;
e = abs(d);
f = sqrt(1 - e * e);
s = 0.5 * a * b * f;
printf("%d\n", s);
} else printf("0\n");
return 0;
}
没有找到问题 为什么输入11,12,2会报个-2147483648的出来啊 人造人 发表于 2022-10-30 12:35
abs不在math.h里面,abs在stdlib.h里面
为什么输入11,12,2会报个-2147483648的出来啊 2207122216 发表于 2022-10-30 18:02
为什么输入11,12,2会报个-2147483648的出来啊
这个程序是做什么的?
你认为输出多少就是正确的?
页:
[1]