[英]same printf gives different results
这是我的第一篇文章,希望这不是转发。 我在Mac上使用g ++编写了以下c ++程序进行编译。
#include <iostream>
int main ()
{
double b = 1;
printf("%x\n", b);
printf("%x\n", b);
printf("%x\n", b);
printf("%x\n", b);
return 0;
}
为什么程序会给我相同代码的不同结果? 这是输出。
5ca5ebf8
100
200
300
但是,Windows上的VS中未显示此行为。 谢谢。
这是使用任何像样的编译器都应获得的警告: warning: format specifies type 'unsigned int' but the argument has type 'double'
因此,您将获得不确定的行为,任何事情都会发生:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.