这个代码哪个地方出了错

img

img


如图,在练习时发现这个代码虽然能编译出来了,但abc的值无论输入什么都会变成这样,是哪里漏了或者写错了,求解答,谢谢

把scanf中的逗号去掉吧,你如果加上逗号,那你输入数据时必须加上与之对应的逗号,才能正常读入数据。

img

#include <stdio.h>
#include <math.h>

int main()
{
    double a, b, c, disc, x1, x2, p, q;
    scanf("%lf %lf %lf", &a, &b, &c);
    disc = b * b - 4 * a * c;
    if (disc < 0)
        printf("无解");
    else
    {
        p = -b / (2.0 * a);
        q = sqrt(disc) / (2.0 * a);
        x1 = p - q;
        x2 = p + q;
        printf("real roots:\nx1=%.2f x2=%.2f", x1, x2);
    }
    return 0;
}