2016-07-24 67 views
-1
#include"iostream" 
using namespace std; 

int main(){ 

    float arithmetic_operation = (4+5)+9*2-4+2/5+1-13; 
    cout<< arithmetic_operation << " <--The Result." << endl; 

    return 0; 
} 

我得到11 < - 结果。但其实结果是11.4,请有人能帮我理解这一点。在C++中的算术运算

+0

你做得太多太早。从一个更简单的程序开始,并确保你所做的每一部分实际上都按照你的期望行事。为了运行你首先需要学习如何走路! –

+1

'2/5 == 0'。至少一个除法的操作数必须是浮点类型,否则它是一个整数除法,向零截断。例如。 '2.0/5'或者'2/5.0' –

回答

2

你在做整数算术。所有操作数都是整数,所有操作都将使用整型操作完成。而对于整数除法2/5等于零。

使用浮点值遍布代替:

double arithmetic_operation = (4.+5.)+9.*2.-4.+2./5.+1.-13.; 
+0

但我已经声明了一个浮点变量..并且答案是11.4,它是一个浮点变量。 –

+1

@rashedazad是的,但没关系。值'2'是一个整数,如同'5'。除两个整数将导致另一个整数,并且整数不能有小数。您必须使用浮点文字而不是整数文字。 –

+0

非常感谢您的澄清.. –