标签:
输出以下代码结果:
#include <stdio.h> int main() { printf("%f\n", 5); printf("%d\n", 5.01); return 0; }
结果:
0.000000 1889785610
析:
1)5是int型,%f 要接收的参数是 double型,结果5 由4个字节的int型扩展成8个字节的double型,出现了内存访问越界。其结果是未知的。
2)5.01是 double型,结果%d 要接收 的参数是int型,结果只取了5.01内存中的4个字节。输出了一个大数。
标签:
原文地址:http://www.cnblogs.com/aqing1987/p/4220919.html