摘要:
代码如下int main(){ printf("%f\n", 5); printf("%d\n", 5.01); return 0;}结果如下:第一个结果0.000000第二个结果 是一个大数。解释如下:首先参数5为int型,32为平台中为4字节,因此在stack中分配4字节的内存,用于存放参数5.然后printf()根据说明符 "%f",认为参数应该是个double型?(在printf函数中 float会自动转换成double?)因此从stack中读取了8个字节。很显然,内存访问越界,会发生什么情况不可预料。于是printf(&qu 阅读全文
posted @ 2012-09-24 13:31
XhBinary
阅读(124)
评论(0)
推荐(0)