#include<stdio.h>int main(){int num=2.5; ? ??//定義浮點型變量num并賦值為2.5int numtwo=(double)num;printf("num的整數部分是%d\n");return 0;}
3 回答
已采納

onemoo
TA貢獻883條經驗 獲得超454個贊
賦值、初始化時會自動發生類型轉換:等號右側的類型會“臨時”轉換為等號左側的類型,再進行賦值。注意前面的臨時二字,這并不會改變等號右側變量本身的類型和值。
不是所有的類型間都可以進行類型轉換的,如果類型間沒有類型轉換規則,就不會發生自動類型轉換,且編譯器會報錯。
浮點型轉換為整型的規則大致上就是直接丟棄小數部分,保留整數部分。
所以用浮點型值來初始化整型變量是合法的。

慕運維8283692
TA貢獻31條經驗 獲得超17個贊
#include<stdio.h>
int main()
{
int num=2.5; ? ? //定義浮點型變量num并賦值為2.5
int numtwo=(double)num;
printf("num的整數部分是%d\n",num);
return 0;
}
是這樣吧?float型自動轉換為int型會有數據丟失,我的代碼,結果是2。把2.5的小數部分直接舍去了
- 3 回答
- 0 關注
- 2104 瀏覽
添加回答
舉報
0/150
提交
取消