2016-07-24 82 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

非常感謝您的澄清.. –