无法找到存储到' delta'的值的原因。没有读过

时间:2017-11-11 17:28:39

标签: c

虽然分析似乎无法避免存储到delta' delta的值。没有被阅读......我的循环的哪一部分不起作用?为什么?

#include <stdio.h>
#include <math.h>
int main()
{
    float a, b, c;
    float delta;
    printf("a=");
    scanf("%f", &a);
    printf("b=");
    scanf("%f", &b);
    printf("c=");
    scanf("%f", &c);
    float x, x1, x2;
    delta=((b*b)-(4*a*c));
    if("delta==0")
    {
        x=((-b)/(2*a));
        printf("x=%f \n", x);
    }
    else if("delta>0")
    {
        x1=((-b+sqrt(delta))/(2*a));
        x2=((-b-sqrt(delta))/(2*a));
        printf("x1=%f i x2=%f \n", x1, x2);
    }
    else printf("Nie ma w zbiorze liczb rzeczywistych rozwiazania tego rownania.\n");
    return 0;
}

1 个答案:

答案 0 :(得分:0)

第一件事,if("delta==0")在“”内部将被视为地址的任何内容如果(地址)表示为真,则删除双引号。

if(delta==0)
    // some code
 else if (delta > 0)
    // some code

第二件事,你正在比较(==)一个浮动&amp;一个整数,所以要注意比较不同操作数的行为。