0
我在Objective-C中實現了一個用於OOP練習的小型cmd計算器。我通過scanf()
獲得雙輸入,並獲得輸入,我使用%f
進行格式化,然後將其置於double
變量中。出於某種原因,它總會讀取奇數輸入。我不知道發生了什麼,但是當我將所有類型更改爲int時,結果都很完美。當通過scanf輸入時會出現兩個奇怪的現象
我在Objective-C中實現了一個用於OOP練習的小型cmd計算器。我通過scanf()
獲得雙輸入,並獲得輸入,我使用%f
進行格式化,然後將其置於double
變量中。出於某種原因,它總會讀取奇數輸入。我不知道發生了什麼,但是當我將所有類型更改爲int時,結果都很完美。當通過scanf輸入時會出現兩個奇怪的現象
雙倍的scanf()
格式是"%lf"
。
printf()
可以使用相同的"%f"
格式都float
和double
,因爲float
參數可變參數功能提升到double
。 scanf()
沒有此類促銷,因爲您正在傳遞指針,並且您需要在內存中有實際的float
或double
對象。
非常感謝! – 2012-01-11 12:10:09
舉幾個例子,比如它失敗或沒有按預期做的地方,發佈你的代碼。 – 0x8badf00d 2012-01-11 03:51:01
你是否也嘗試過使用一些偶數? – 2012-01-11 03:51:27