为什么不能得出b,c以及area的结果请大佬帮忙指点一下错在哪里?

代码如下
#include
#include

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(void)
{ double a,b,c,s,area;
scanf("%lf,%lf,%lf",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%.lf,b=%.2f,c=%.2f,s=%.2lf\n",a,b,c,s);
printf("area=%.2lf\n",area);
return 0;
}

运行结果如下
3,4,5
a=3.00,b=0.00,c=0.00,s=1.50
area=-1.#J


Process exited after 5.736 seconds with return value 0
请按任意键继续. . .

scanf("%lf,%lf,%lf",&a,&b,&c);
你怎么输入的,是逗号分割的么?a b c能构成合法的三角形么(任意2边和小于第三边)