看板 C_and_CPP 關於我們 聯絡資訊
不好意思 小弟有問題想請教 環境為 WinXP, Dev-C++ 4.9.9.2 Source code 如下 #include<stdio.h> #include<stdlib.h> int main(void) { printf("a=%d,b=%f,c=%f\n",5,5.1,5.2); printf("a=%d,b=%d,c=%f\n",5,5.1,5.2); system("pause"); return 0; } 輸出結果為: a=5,b=5.100000,c=5.200000 a=5,b=1717986918,c=-925596534325187160000000000000000000000000000000000000000000 00.000000 想請教各位前輩們 為什麼修改第二行printf中的b輸出的格式為%d後 就連c輸出的值也會被影響到呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.114.235
snowlike:因為你把它搞壞了>.^ 03/23 23:26
foxc:所以不是只影響b的輸出而已,連c的輸出也會影響到嗎? 03/23 23:27
kvykn:你沒事吧? 那有人這樣搞的... 03/24 00:20
tstanly:不過真的很怪 有人知道為什麼會這樣嗎? 03/24 00:28
kvykn:不過這怪在哪?! 這不是就是遊戲規則嗎? 03/24 00:41
wowtiger:沒有什麼怪問題 記住 win 平台 printf 只吃 double 就好 03/24 00:48
tstanly:那為什麼c值會變這麼奇怪阿? 03/24 01:02
Ebergies:因為其實 printf 根本不知道後面傳進來的是什麼鬼 03/24 01:08