【发布时间】:2021-12-15 01:40:12
【问题描述】:
我有一个简单的 C 程序,我在其中键入将两个整数转换为浮点数,然后计算它们的除法。但是,类型转换导致零。非常感谢您的帮助。
'''
#include <stdlib.h>
#include <string.h>
#include<ctype.h>
float mean(float sum,float N);
int main()
{
int sum = 6;
int N = 3;
printf("\nsum: %d\nN: %d",sum,N);
float m = mean((float)sum,(float)N);
printf("\nMean: %d",m);
}
return 0;
}
float mean(float sum,float N){
float m = sum / N;
return m;
}
【问题讨论】:
-
请阅读有关格式字符串的文档,尤其是在使用 %d 时
-
printf("\nMean: %d",m);-->printf("\nMean: %f\n",m); -
应该有关于为转换说明符提供的参数不匹配的警告。如果你没有得到这个,你应该提高你的编译器诊断级别。如果有警告,请不要忽略它。
标签: c casting type-conversion average division