为什么无论输入什么数值输出都是不能构成三角形

#include
int main()
{
float a,b,c;

printf("input a,b,c:");
scanf("%f%f%f",&a,&b,&c);

if(a=b>c&a-bif(a==b&a==c&b==c)
        printf("Equilateral triangle!\n");
    else if(a==b|a==c|b==c)
        printf("Isosceles triangle!\n");
    else if(a*a+b*b==c*c|a*a+c*c==b*b|b*b+c*c==a*a)
        printf("Right triangle!\n");
    else
        printf("Other triangles!\n");

}
printf("It doesn't make a triangles!\n");

return 0;
}

这根本无力吐槽,不仅语法乱糟糟的,逻辑也根本不对
if(a+b>c && a+c>b && b+c>a)这样才对

a=b>c这是想干啥
&是位与,&&才是逻辑与