软件是vs2012,用C语言写的求二次方程的解,求大神帮忙找错

#include
#include
#include
int main ()
{
float a,b,c,k,x1,x2;
printf("请输入a,b,c三个值");
scanf("%f %f %f",&a,&b,&c);
k=(b*b)-(4*a*c);
if (k {
printf("输入错误\n");
}
if (k>0)
{
x1=(-b+sqrt((float)k))/(2*a);
x2=(-b-sqrt((float)k))/(2*a);
printf("得到的值是:%f , %f",x1,x2);
}
system("pause");
return 0;
}
调试什么的都是对的,但是我死活得不出正确答案,例如我输进去1,5,6得出的是:得到的值是:107374176.000000 , 0.000000请按任意键继续. . .
我觉得是x1和x2有问题,但自己又看不出什么所以然,所以帮个忙看看吧,,,,,

输入的时候不要用逗号,用空格

程序没错,在线编译通过
http://codepad.org/3Wmr0j0p

得到的值是:-2.000000 , -3.000000

程序没有错误的。vs验证得到的值是:-2.000000 , -3.000000