读书人

lt;小蔡求教gt;四行代码的小程序输出有关问

发布时间: 2012-12-31 11:57:52 作者: rapoo

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


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


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

一看答案,花了眼。

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

读书人网 >C++

热点推荐