2016-06-12 75 views
0

任何人都可以啓發我下面的代碼?我完全被困惑的答案,它不斷返回138934.我目前使用Code :: Blocks。C++ - 整數除以整數返回錯誤答案

我是在宣佈還是在做一些完全錯誤的事情?請原諒基本問題,我一直在檢查這個問題,並沒有在線獲得任何答案。

int amount, fifties; 
fifties= amount/50; 

cout<<"Please enter amount: "; 
cin>>amount; 

cout<<"You have entered: "<<amount<<endl; 
cout<<"Answer: "<<fifties<<endl; 
+2

'amount'是未初始化之前也;所以它具有垃圾價值。 –

+0

只需將第二行移至第六行(剪切並粘貼) –

回答

0

在您發佈的代碼中,amount未初始化;

因此,行fifties= amount/50;導致fifties具有隨機垃圾值。

爲了克服,必須一定的價值分配給amount爲:

int amount=100 

或理想,移動下面cin>>amountfifties= amount/50;。通過在cin>>amount行下面編寫 fifties= amount/50;,您需要確保amount包含用戶輸入的值。因此,您在下一行執行有效除法,這會導致fifties包含預期的答案。

工作代碼here

+0

我已將行移下。現在工作正常。悲傷地思考了30分鐘。非常感謝。 :) – Enthu

0

只需推動fifties = amount/50;cin >> amount;線,讓amount有一個有用的價值第一。

+0

謝謝你的啓發。這對我來說是新鮮的事情,將在此注意。非常感謝。 :) – Enthu

0

初始化「金額」的值,並在收到用戶的輸入值後計算五十年代。

未初始化的值量將包含垃圾值和你正在計算五十年代收到輸入