【发布时间】:2013-03-27 03:36:00
【问题描述】:
我编写了一个程序,在该程序中,我使用函数area 找到了圆柱区域,该函数具有返回类型且不带参数。 answer 已返回到 main 函数。但是,我在main 中得到不同的输出,在area 中得到不同的输出。 main 函数中的小数位似乎被 0 替换。为什么会这样?
【问题讨论】:
标签: c function return-value output structured-programming
我编写了一个程序,在该程序中,我使用函数area 找到了圆柱区域,该函数具有返回类型且不带参数。 answer 已返回到 main 函数。但是,我在main 中得到不同的输出,在area 中得到不同的输出。 main 函数中的小数位似乎被 0 替换。为什么会这样?
【问题讨论】:
标签: c function return-value output structured-programming
将area的返回类型从int改为float
【讨论】:
您的函数返回一个int,它会截断值的任何实部。
float area()
【讨论】:
您的变量 answer 在区域函数中是浮点数,但区域函数的返回类型是 int。所以它在返回时输入大小写,在 main
int area(){
^ should be float
float answer;
// print float
return answer;
}
int main(){
answer = area(); // answer gets integral part
// print int part
}
【讨论】: