【问题标题】:Difference in variable value inside and outside a function函数内外变量值的差异
【发布时间】:2013-03-27 03:36:00
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    将area的返回类型从int改为float

    【讨论】:

      【解决方案2】:

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

      float area()
      

      【讨论】:

        【解决方案3】:

        您的变量 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
        }
        

        【讨论】:

          猜你喜欢
          • 2012-12-15
          • 1970-01-01
          • 1970-01-01
          • 2016-05-17
          • 2020-05-06
          • 2018-09-02
          相关资源
          最近更新 更多