

这里只输入父亲的身高,还没输入母亲的身高就直接开始预测身高了,自己检查了好几遍也没看出来代码哪里出了问题
关注你的函数返回值有问题,你的这一行代码在执行之后会将计算的结果变成浮点数,你接收的时候也应该用浮点数,可以用float或者double

#include <stdio.h>
int childHight(int FHight, int MHight);
int main()
{
int m_FHight;
int m_MHight;
int result;
printf("请输入父亲的身高:\n");
scanf("%d" ,&m_FHight);
printf("请输入母亲的身高:\n");
scanf("%d",&m_MHight);
result=childHight(m_FHight,m_MHight);
printf("预测孩子的身高:");
printf("%d",result);
return 0;
}
int childHight(int FHight, int MHight){
int result=(int)(FHight+MHight)*0.54; //这一行代码会将你的计算结果强制转换为int整形
return result;
}
也可以这样修改
#include <stdio.h>
float childHight(int FHight, int MHight);
int main()
{
int m_FHight;
int m_MHight;
float result;
printf("请输入父亲的身高:\n");
scanf("%d" ,&m_FHight);
printf("请输入母亲的身高:\n");
scanf("%d",&m_MHight);
result=childHight(m_FHight,m_MHight);
printf("预测孩子的身高:");
printf("%.0f",result); //在输出时可以设置保留的位数,像我这样就是保留0位的小数,输出也就是整数了
return 0;
}
float childHight(int FHight, int MHight){
float result=(FHight+MHight)*0.54;
return result;
}
这是运行结果图

如果我的回答对你有帮助,请给我个采纳谢谢