摘要: 今天在网上看到这个问题,自以为的输出是3.0,但是实际去跑一下,可以发现结果是0.0000这一句虽然不长,但是其中蕴涵的知识点是很多的。第一,10/3的结果是什么?这个很显然结果应该是3第二,printf语句格式化输出的使用%f就是要输出浮点数,但是我们也发现给的参数其实是个整型数。所以也就出现了上面的结果。第三,printf的原理是什么?这儿就牵扯到C中的不定参数的使用方法。具体可见这儿 简单来说就是,printf从栈中取参数的时候是根据格式化语句中要求进行取数的。这儿是%f,而浮点数是4个字节(32位操作系统),所以,要从栈中取4个字节,并且是按“浮点数的方式”。正好,参数3是个整型数,. 阅读全文
posted @ 2012-05-18 20:08 Mr.Rico 阅读(2901) 评论(1) 推荐(0)