为什么这段代码打印出4?

时间:2015-12-30 21:03:02

标签: c++

我不明白为什么这个程序使用浮点数但我输出了4。 我以为浮点只输出小数。任何帮助将不胜感激,我已经在这段代码上主演了一段时间。

<div class="sections">
    <div class="section">
        <div class="section-title">
            Banner Slideshow
        </div>
        <div class="section-fields">
            <a class="do-new-part" href="#">
                Add slides
            </a>
            <div class="parts">
                <div class="part">
                    <div class="part-title">
                        Slide
                    </div>
                    <div class="part-fields">
                        Slide fields
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:2)

您的代码会将45/10截断为4,因为45/10是一个整数除法。

如果要保留小数部分,请稍微更改表达式以使其成为浮点除法。

return (1.0*Sum/Count);

答案 1 :(得分:1)

你的总和是一个int;当你返回时,你将Sum除以Count,将其截断为小数部分,然后将其转换为float以返回它。

要获得正确答案,首先应将其转换为浮点数,然后将其除以并返回:例如

return ((float) Sum) / Count;

或者,你可以将Sum声明为一个浮点数,这样可以摆脱这个问题。