C语言printf("%d");每次输出都是2433316,无论变换程序位置还是重新编译都是这个数
而printf("%d %d");则会输出2433316 1556284032
请问各位大侠,这个是神马情况啊????
------解决方案--------------------------------------------------------
无代码,无真相。
据我的经验,是溢出输出,,,
printf("%d%d");
此句将会输出当前指定地址的后8个字节的数据,由于后8个字节是未知的,其中的数据是随机的。——此招专用于密码探测。
对于输出永远是一个常量,原因在于所在的内存地址很特殊,要么是在此之前系统占用过这段内存了,要么是它在常量池中,其数据是固定的。