函数内外变量值的差异

时间:2013-03-27 03:36:01

标签: c function return-value output structured-programming

我编写了一个程序,在其中我使用带有返回类型且没有参数的函数area找到了圆柱区域。 answer已返回main函数。但是,我在main中获得了不同的输出,在area中获得了不同的输出。 main函数中的小数位似乎被0替换。为什么会这样? enter image description here

3 个答案:

答案 0 :(得分:2)

将区域的返回类型从int更改为float

答案 1 :(得分:1)

您的函数返回int,它会截断值的任何实部。

float area()

答案 2 :(得分:1)

您的变量answer在区域函数中是浮点数,但区域函数的返回类型是int。所以它在返回时输入了主要的

int area(){
 ^  should be float

 float answer;

 // print float
 return answer;
}

int main(){
 answer = area(); // answer gets integral part
 // print int part
}