[問題] printf() 整數, 浮點數放的順序影響輸出

看板C_and_CPP作者 (橘水壎)時間10年前 (2013/07/17 14:58), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/4 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) gcc version 3.4.4 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): 使用printf 同時顯示整數及浮點數,整數在前跟浮點數在前結果會不同。 printf("%d,%.3f\n",d,d); printf("%.3f,%d\n",d,d); 這兩個結果會呈現不同的結果。 餵入的資料(Input): no 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> int main(void) { int a=10; int b=20; float d=0; d=(float)a/b; printf("%d,%.3f\n",d,d); printf("%.3f,%d\n",d,d); return 0; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.1.1

07/17 15:07, , 1F
先轉型成整數
07/17 15:07, 1F

07/17 17:01, , 2F
我比較好奇為什麼前一個參數的轉換影響到下一個整數?
07/17 17:01, 2F

07/19 03:51, , 3F
d=(float)a/b; 建議這邊改成 d=(float)a/(float)b;
07/19 03:51, 3F

07/19 03:52, , 4F
另外在c++ primer中建議 c++使用cout 不要用printf 這是C的
07/19 03:52, 4F
文章代碼(AID): #1Hva2g_P (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1Hva2g_P (C_and_CPP)