繁体   English   中英

相同的printf给出不同的结果

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM