【发布时间】:2018-01-24 16:11:36
【问题描述】:
我想知道我是否使用了正确的变量类型。据我所知,我应该只使用浮点数和整数。我知道它打印“除以 4”部分,因为在函数中我将其切换为除以 5 并打印“5.0000”。如果我将“结果”设为整数,它显然会去掉小数点的答案,但它仍然给我正确的平均值而不是“4”。 为什么将“4.0000”存储在结果变量而不是答案中?
void main(void)
{
WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD;
// stop watchdog timer\
srand(time(NULL));
int val1 = (rand()%100);
int val2 = (rand()%100);
int val3 = (rand()%100);
int val4 = (rand()%100);
printf("%d\n",val1);
printf("%d\n",val2);
printf("%d\n",val3);
printf("%d\n",val4);
printf("%f\n",average4(val1, val2, val3, val4));
}
float average4(int val1, int val2, int val3, int val4){
float result;
result = (val1 + val2 + val3 + val4)/4;
return result;
}
【问题讨论】:
-
哦,您知道这可能是什么解决方案。我现在做不到,但我没有那个原型。
-
编译器警告,启用它们,查看它们。
-
函数
main()的签名始终具有返回类型int,(无论 Visual Studio 允许什么) -
贴出的代码无法编译!除其他外,不包括必要的头文件。
标签: c function floating-point average