无法执行area函数中的if语句,如何解决?(语言-c语言)

代码预期:输入三角形三条边,判断是否为三角形,是输出面积,不是输出bug
错误为:无论输入什么都为bug


#include <stdio.h>
#include <math.h>
double area(double a, double b, double c)
{
    if (a + b > c && a + c > b && b + c > a)
    {
        double p = (a + b + c) / 2;
        double s = sqrtf(p * (p - a) * (p - b) * (p - c));
        printf("%f", s);
        return s;


    }
    else printf("bug\n"); return 0;
}
int main()
{
    double a, b, c, s;

    scanf("%lf\n%lf\n%lf\n", &a, &b, &c);
    s = area(a, b, c);
    return 0;

scanf("%lf%lf%lf", &a, &b, &c);就可以了

主函数}结尾括号都没有能不报错么