小白求教
c语言吧
全部回复
仅看楼主
level 7
黄失聪 楼主
调试的时候只输出了前面的身高,后面取身高平均值为什么没有了,求大佬帮忙解答
2019年02月06日 03点02分 1
level 7
哦,21行的printf()没有加%d,应该是这样吧:
printf(“h_6 = %d\n ”, h_6);
2019年02月06日 03点02分 2
谢谢,不过还是输出不了
2019年02月06日 03点02分
@黄失聪 等等,再让我好好看看
2019年02月06日 03点02分
@黄失聪 有没有编译警告什么的,让我看看
2019年02月06日 03点02分
@水神ss☜ 没有错误也没有警告
2019年02月06日 03点02分
level 4
首先我想说你这个计算都不对,平均身高出来是浮点数。你不能用int型定义变量,其次我还在看
2019年02月06日 04点02分 3
嗯,我发现了,我换了一下,int sum,float h_6,后面sum=h_1+h_2+h_3+h_4+h_5,h_6=sum/NUMBER,但是有警告 严重性 代码 说明 项目 文件 行 禁止显示状态 警告 C4244 “=”: 从“int”转换到“float”,可能丢失数据 这要怎么搞
2019年02月06日 04点02分
@黄失聪 #define NUMBER 5.0f
2019年02月06日 04点02分
@黄失聪 用const定义NUMBER,我认为因为宏常量没有数据类型,一般只用来做字符替换,在h_6=sum/NUMBER中右边值赋给左边时出错
2019年02月06日 04点02分
@古心之海😈 我是初学者,const我不太懂[汗] 我是看别人的视频自学的,他的h_6 = sum/NUMBER就没有警告,调试也可以正常运行,是不是不同的编译器的问题
2019年02月06日 05点02分
level 4
对了,你试试用const定义一下NUMBER,数据类型为double
2019年02月06日 04点02分 4
level 15
没发现什么问题
2019年02月06日 04点02分 5
算出来数字是错的
2019年02月06日 04点02分
@古心之海😈 我知道,我只是按着楼主的意思写了一遍
2019年02月06日 04点02分
@aaaaaaa421 O(∩_∩)O你改对了呢
2019年02月06日 05点02分
你输入的应该凑巧h6是整数,所以可以输出吧
2019年02月06日 05点02分
level 12
#define NUMBER 5.0
flort h_6;
printf("h_6=%f",h_6);
2019年02月06日 05点02分 7
1