为什么返回值永远是0?输入一个 3 4 5 也不能构成三角形

#include <stdio.h>

int isTrianglr(double a,double b,double c);


int main()

{

double x;

double y;

double z;

int q;

printf("输入三条边");

scanf("%f %f %f",&x,&y,&z);

q=isTrianglr(x,y,z);

if(q)

printf("能组成三角形");

else

printf("不能组成三角形");

}

int isTrianglr(double a,double b,double c)

{

if((a+b)>c && (a+c)>b && (b+c)>a)


return 1;


else


return 0;



}


qq_睡ing_0
浏览 1196回答 1
1回答

guozhchun

你定义x, y, z为double,读取时却用%f来读,这样x, y, z的值都是0。将x, y, z定义成float类型,或者读取用%lf来读。这样可以解决问题。PS:int main()函数中最好写上return 0;
打开App,查看更多内容
随时随地看视频慕课网APP