3 回答

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
賦值、初始化時(shí)會(huì)自動(dòng)發(fā)生類型轉(zhuǎn)換:等號(hào)右側(cè)的類型會(huì)“臨時(shí)”轉(zhuǎn)換為等號(hào)左側(cè)的類型,再進(jìn)行賦值。注意前面的臨時(shí)二字,這并不會(huì)改變等號(hào)右側(cè)變量本身的類型和值。
不是所有的類型間都可以進(jìn)行類型轉(zhuǎn)換的,如果類型間沒有類型轉(zhuǎn)換規(guī)則,就不會(huì)發(fā)生自動(dòng)類型轉(zhuǎn)換,且編譯器會(huì)報(bào)錯(cuò)。
浮點(diǎn)型轉(zhuǎn)換為整型的規(guī)則大致上就是直接丟棄小數(shù)部分,保留整數(shù)部分。
所以用浮點(diǎn)型值來初始化整型變量是合法的。

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個(gè)贊
1樓時(shí)對(duì)的,肯定會(huì)發(fā)生,數(shù)據(jù)丟失,內(nèi)部進(jìn)行了強(qiáng)制轉(zhuǎn)換

TA貢獻(xiàn)31條經(jīng)驗(yàn) 獲得超17個(gè)贊
#include<stdio.h>
int main()
{
int num=2.5; ? ? //定義浮點(diǎn)型變量num并賦值為2.5
int numtwo=(double)num;
printf("num的整數(shù)部分是%d\n",num);
return 0;
}
是這樣吧?float型自動(dòng)轉(zhuǎn)換為int型會(huì)有數(shù)據(jù)丟失,我的代碼,結(jié)果是2。把2.5的小數(shù)部分直接舍去了
- 3 回答
- 0 關(guān)注
- 2094 瀏覽
添加回答
舉報(bào)