|  | 
 
| 
是一个用海伦公式求面积的练习
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  代码如下:
 #include<stdio.h>
 #include<math.h>
 
 int helen(int a,int b,int c);
 
 int main()
 {
 int a,b,c;
 float area;
 printf("请输入三角形的三边长:\n");
 scanf("%d %d %d",&a,&b,&c);
 area=helen(a,b,c);
 printf("面积为%.2f",area);
 return 0;
 }
 
 float helen(int a,int b,int c)
 {
 float p;
 float area;
 p=(a+b+c)/2.0;
 if(p*(p-a)*(p-b)*(p-c)<0)
 {
 printf("Error!\n");
 }
 area=sqrt(p*(p-a)*(p-b)*(p-c));
 return (area);
 }
 
 没有error,但是有5个warning
 
 
 D:\2020136430602.c(14) : warning C4244: '=' : conversion from 'int ' to 'float ', possible loss of data
 D:\2020136430602.c(20) : warning C4142: benign redefinition of type
 D:\2020136430602.c(23) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
 D:\2020136430602.c(28) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
 D:\2020136430602.c(29) : warning C4244: 'return' : conversion from 'float ' to 'int ', possible loss of data
 
 算出来的数据好像也不是很对。。。
 其他的我可以慢慢解决,但是这个第五个warning我百思不得其解,为什么这个return没有返回float的值呢?
 小弟求教各路大神了!
 | 
 |