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