[問題] 關於printf的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Windows NT
問題(Question):
如果在一個程式裡
只打上一行printf("%d %d", 4*atan(1), sin(4*atan(1)));
我的執行結果會很奇怪,如下:
1413754136 1074340347
但是如果把第一個 %d 改成了 %g
printf("%g %d", 4*atan(1), sin(4*atan(1)));
答案竟然變成了我想要的
3.14159 0
第一個答案怎樣我不管,
我的問題是第二個,它的輸出型態都是 %d
但為什麼第一次跟第二次的執行結果不一樣呢??
特別說一下,我沒有宣告任何的暫存變數,
程式碼就僅僅只有這兩行和標頭檔而已...
這問題實在讓在下百思不得其解...
有勞板上的大大們解惑!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.250.221
→
11/07 03:11, , 1F
11/07 03:11, 1F
推
11/07 03:38, , 2F
11/07 03:38, 2F
→
11/07 03:38, , 3F
11/07 03:38, 3F
→
11/07 04:00, , 4F
11/07 04:00, 4F
推
11/07 10:45, , 5F
11/07 10:45, 5F
感謝你們熱情的回應,
可是我第二次的第二個值印的仍然維持%d沒有變動啊....
為什麼他可以印出"0"來呢??
這點還是沒有被回應到 ...
謝謝你們 !!!
※ 編輯: zebraseven 來自: 140.112.250.221 (11/07 12:55)
推
11/07 13:13, , 6F
11/07 13:13, 6F
推
11/07 14:49, , 7F
11/07 14:49, 7F
→
11/07 23:40, , 8F
11/07 23:40, 8F
→
11/08 00:54, , 9F
11/08 00:54, 9F
推
11/08 01:03, , 10F
11/08 01:03, 10F
→
11/08 08:40, , 11F
11/08 08:40, 11F
討論串 (同標題文章)