c语言问题,解答一下

输入三角形的3条边长,请判断这是一个什么三角形。普通三角形,等边三角形,等腰三角形,不能构成三角形。

#include <stdio.h>

int main(void)
{
int a,b,c;

printf("输入三角形三条整型边长:");
scanf("%d%d%d",&a,&b,&c);

//为方便之后的算法实现 进行对边排序,(确保a>=b>=c)
int temp;
if(a<b)
{
temp=a;
a=b;
b=temp;
}
//存在溢出风险
if(a<c)
{
a=a+c;
c=a-c;
a=a-c;
}
//
if(b<c)
{
b=b^c;
c=b^c;
b=b^c;
}
//
//判断是否为三角形
if((b+c)<=a)
{
printf("不是三角形.\n");
return 1;
}

if(a==b || a==c || b==c)//等边 或 等腰
{
a==c?printf("等边三角形.\n"):printf("等腰三角形.\n");
}
else //普通 或 直三角形
{
if((bb+cc)==(a*a))
{
printf("直三角形.\n");
}
else
{
printf("普通三角形.\n");
}
}
return 0;
}
程序如上,希望对你有帮助