1
可能重複:
How is conversion of float/double to int handled in printf?爲什麼printf中沒有int轉換爲double?
main()
{
printf("%f",1);
}
我預計產量爲1.000000
,即在INT 1被upcasted到雙1.000000,但它給了0.000000
。爲什麼這樣?
可能重複:
How is conversion of float/double to int handled in printf?爲什麼printf中沒有int轉換爲double?
main()
{
printf("%f",1);
}
我預計產量爲1.000000
,即在INT 1被upcasted到雙1.000000,但它給了0.000000
。爲什麼這樣?
當非匹配的參數被提供給格式化指令(在這種情況下的int
到%f
)所得的行爲是未定義。
此問題或其某些變化會定期出現,請參閱What is printf's behaviour when printing an int as float?和problem with printf function?以獲取示例/更多信息。
你錯過了'printf()'的原型。即使是原型,你的程序仍然會出錯。 – pmg 2012-08-07 17:48:56
爲什麼地球*會轉化爲雙倍? – 2012-08-07 17:50:18