我这个哪里错了,他显示'else' without a previous'if'

#include <stdio.h>
#include <math.h>

int main()
{
double a,b,c,s;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a);
{
s=(a+b+c)/2;
printf("%lf",sqrt(s*(s-a)(s-b)(s-c)));
}
else
{
printf("-1");
}
return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
double a,b,c,s;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)//这里多了分号
{
s=(a+b+c)/2;
printf("%lf",sqrt(s*(s-a)*(s-b)*(s-c)));
}
else
{
printf("-1");
}
return 0;
}