c语言求一元二次方程组这个写法为什么得不到正确结果

#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,x1,x2;
printf("请输入a,b,c,并用,隔开\n");
scanf("%f,%f,%f",&a,&b,&c);
x1=(-b+sqrt(pow(b,2)-4ac))/2a;
x2=(-b-sqrt(pow(b,2)-4
ac))/2a;
printf("x1=%f,x2=%f\n",x1,x2);
return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    float a,b,c,x1,x2,g;
    printf("请输入a,b,c,并用,隔开\n");
    scanf("%f,%f,%f",&a,&b,&c);
    g=pow(b,2)-4*a*c;
    if(g<0)
    {
        printf("无实解\n");
        return 1;
    }
    x1=(-b+sqrt(g))/(2*a);
    x2=(-b-sqrt(g))/(2*a);
    printf("x1=%.2f,x2=%.2f\n",x1,x2);
    return 0;
}