位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言基礎(chǔ)知識—類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換

提問人:ylm發(fā)布時間:2020-09-25

當(dāng)同一表達式中各數(shù)據(jù)的類型不同時,編譯程序會自動把它們轉(zhuǎn)變成同一類型后再進行計算。轉(zhuǎn)換優(yōu)先級為:

char < int < float < double

即左邊級別“低“的類型向右邊轉(zhuǎn)換。具體地說,若在表達式中優(yōu)先級最高的數(shù)據(jù)是double型,則此表達式中的其他數(shù)據(jù)均被轉(zhuǎn)換成double型,且計算結(jié)果也是double型;若在表達式中優(yōu)先級最高的數(shù)據(jù)是float型,則此表達式中的其他數(shù)據(jù)均被轉(zhuǎn)換成float型,且計算結(jié)果也是float型。

在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉(zhuǎn)換;當(dāng)右邊的類型高于左邊的類型時,則在轉(zhuǎn)換時對右邊的數(shù)據(jù)進行截取。

除自動轉(zhuǎn)換外,還有強制轉(zhuǎn)換,表示形式是:

( 類型 )(表達式); 例:(int)(a+b)

討論:當(dāng)a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部