我改了一下,為啥輸出的結果是 num的整數(shù)部分是2
#include <stdio.h>
int main()
{
??? double num = 2.5;??? //定義浮點型變量num并賦值為2.5
?int mum=(int)num;
??? printf("num的整數(shù)部分是%d\n", mum);?
??? return 0;
}
#include <stdio.h>
int main()
{
??? double num = 2.5;??? //定義浮點型變量num并賦值為2.5
?int mum=(int)num;
??? printf("num的整數(shù)部分是%d\n", mum);?
??? return 0;
}
2017-12-24
舉報
2018-01-21
你是賦值num后,又將強制轉換的(int)num定義給int型的mum,當然輸出num整數(shù)部分為2了。盡管你將你的num定義給了mum,但輸出的最終是它的值而不是名。
2017-12-28
你看這個我想你就明白了
數(shù)據(jù)類型和表達式都必須加括號,如把(int)(x/2+y)寫成(int)x/2+y則成了把x轉換成int型之后再除2再與y相加了。
由此可知:(int)mum即(int)(mum)
2017-12-26
因為你輸出格式里規(guī)定: ? ?num的整數(shù)部分為.........。 ? ? ?如果你改掉前面的 num 。輸出的語句就會改變
2017-12-24
強制轉換的運算不遵循四舍五入原則,結果是對的