作者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