&&粑颇岔鲷、||运算符使用错误,代码为:
#include<st颊俄岿髭dio.h>
intmain()
{
floata,b,c;
printf("请输入边长:\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>=c||a+c>=b||b+c>=a)
{if(a==b&&a==c&&b==c)
printf("等边三角形\n");
elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf("直角三角形\n");
elseif(a==b||a==c||b==c)
printf("等腰三角形\n");}
else
printf("普通三角形\n");
return0;
}
扩展资料:
&&、||和!的优先级为:
!>&&>||
!运算符比许多C++运算符具有更高的优先级。因此,为了避免错误,应始终将其操作数括在括号中,除非打算将其应用于没有其他操作符的变量或简单表达式。例如,来看以下表达式:
!(x>2)
!x>2
第一个表达式将!运算符应用于表达式x>2,它是在问“x是否不大于2”,然而,第二个表达式是将!运算符应用于到x。它是在问“x的逻辑是否大于2”。
假设x被设置为5,由于5是非零值,所以被认为是true,而!运算符会将其反转为false,即为0,然后,>运算符将确定0是否大于2。为了避免这种错误,始终使用括号是明智的。
参考资料: