作者foxc ( )
看板C_and_CPP
標題[問題] printf輸出的問題
時間Mon Mar 23 23:24:34 2009
不好意思 小弟有問題想請教
環境為 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
1F:→ snowlike:因為你把它搞壞了>.^ 03/23 23:26
2F:→ foxc:所以不是只影響b的輸出而已,連c的輸出也會影響到嗎? 03/23 23:27
3F:推 kvykn:你沒事吧? 那有人這樣搞的... 03/24 00:20
4F:推 tstanly:不過真的很怪 有人知道為什麼會這樣嗎? 03/24 00:28
5F:推 kvykn:不過這怪在哪?! 這不是就是遊戲規則嗎? 03/24 00:41
6F:→ wowtiger:沒有什麼怪問題 記住 win 平台 printf 只吃 double 就好 03/24 00:48
7F:推 tstanly:那為什麼c值會變這麼奇怪阿? 03/24 01:02
8F:推 Ebergies:因為其實 printf 根本不知道後面傳進來的是什麼鬼 03/24 01:08