到底是哪出错了我看不出来啊

#include<stdio.h>
#include"math.h"
int main()
{
double a, b, c, p, S;
printf("请依次输入a,b,c三边的值\n");
scanf_s("%d,%d,%d", &a, &b, &c);
if (a + b >= c && a + c >= b && b + c >= a)
{
p = (a + b + c) / 2; S = sqrt(p * (p - a) * (p - b) * (p - c)); printf("%f", S);
}
else
printf("输入的三条边错误\n");
return 0;
}

输入错了,应该是%lf

#include<stdio.h>
#include"math.h"
int main()
{
    double a, b, c, p, S;
    printf("请依次输入a,b,c三边的值\n");
    scanf("%lf,%lf,%lf", &a, &b, &c);
    if (a + b > c && a + c > b && b + c > a)
    {
        p = (a + b + c) / 2; 
        S = sqrt(p * (p - a) * (p - b) * (p - c)); 
        printf("%f", S);
    }
    else
        printf("输入的三条边错误\n");
    return 0;
}