2012-01-11 67 views
0

我在Objective-C中實現了一個用於OOP練習的小型cmd計算器。我通過scanf()獲得雙輸入,並獲得輸入,我使用%f進行格式化,然後將其置於double變量中。出於某種原因,它總會讀取奇數輸入。我不知道發生了什麼,但是當我將所有類型更改爲int時,結果都很完美。當通過scanf輸入時會出現兩個奇怪的現象

+1

舉幾個例子,比如它失敗或沒有按預期做的地方,發佈你的代碼。 – 0x8badf00d 2012-01-11 03:51:01

+0

你是否也嘗試過使用一些偶數? – 2012-01-11 03:51:27

回答

5

雙倍的scanf()格式是"%lf"

printf()可以使用相同的"%f"格式都floatdouble,因爲float參數可變參數功能提升到doublescanf()沒有此類促銷,因爲您正在傳遞指針,並且您需要在內存中有實際的floatdouble對象。

+0

非常感謝! – 2012-01-11 12:10:09

相關問題