簡體   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