<小蔡求教>四行代码的小程序输出有关问题

<小蔡求教>__四行代码的小程序输出问题!
题目:求下列程序的输出结果:

#include<stdio.h>
int main()
{
printf("%f",5);
printf("%d",5.01);
}


一看这题目 我心中大喜,然后就写了个:5.000000 5.

一看答案,花了眼。

答案: 第一个答案是0.000000
      第二个答案是一个 大数(随机数)
------解决思路----------------------
和这个帖子一样http://bbs.****.net/topics/390287509
------解决思路----------------------
根本原因在于printf的参数列表是不定参数的,它会按照字符串内容来解释栈中的二进制数据,所以字符串内容跟压栈参数对不上,就会导致参数类型错误
但关键问题不在这里,初学者不懂这些也没关系,关键问题在于,为什么新手总是喜欢想当然?为什么不去查资料看书?为什么总觉得自己可以发明语法?