|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
float a,b,c;
printf("Input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
if ((a+c>b) && (b+a>c) && (b+c>a))
{
printf("1");
}
else
{
printf("2");
}
return 0;
}
就是想写一个判断三角形类型的程序,但是卡在了第一个if这里,我就算是输入的正确的三角形边长,但他还是打印的2!!,没弄明白这个&&错哪了,还是说判断的式子有问题,请大家帮我看看,谢谢了
很可能是scanf输入出问题了。检测方法:在if之前加一句 printf("a=%f,b=%f,c=%f\n",a,b,c) 看看输入值对不对。
scanf输入一定要注意,键盘输入要与scanf中规定的格式一致,否则就可能会出错。
例如你这里写的是 scanf("%f%f%f",&a,&b,&c) 输入的时候三个数字之间不能有除了空白符(空格、Tab、回车)之外的任何字符,若输入其他字符(如逗号、分号等)都会导致出错。
可以看看我之前回答的一个帖子。
|
|