【发布时间】:2017-02-21 01:26:37
【问题描述】:
所以,我打算向我的 gf 介绍一下 C 编程,但在我为它编写一个程序时出现了这个问题。 这是程序:
#include<stdio.h>
float sum(x,y) {
float u = x+y;
return u;
}
int main(void) {
float x = 30.134;
float y = 392.133;
float z = sum(x,y);
printf("%f \n",z);
}
问题是,当我运行这个程序时,它返回 422.000000,而不是正确的结果 422.267000。我不明白:如果我在这里没有使用任何“int”,为什么程序会截断结果?我一直认为如果数字是浮点数或双精度数,程序将截断数字,声明为整数。但我不清楚为什么程序会截断这里的数字。谢谢。
【问题讨论】: