① c語言強制類型轉換
1、int a;int b;double c = (double) a;double c = (double) b;int a = (int) c;這就是一種強制轉變方法。
② C語言類型強制轉換問題
指針類型,是一個地址。數組的名稱,就是一個地址,所以,強制指念鎮輪針類型的作用對象的數組,針對的必須是數組名。所以要括起來。數組仔信名[i],指數組中的i號元素,不是地址,不應該被強制轉換旅猛為一個指針。
③ c語言強制類型轉換
1、計算
5/2,因兩個運算數均為整型,故進行整型除法。5/2等於2.5,取整,結果為衡擾2。
2、將2強制轉換成double型,結果為2.0
3、計算2.0+2.5,浮點型加法好廳,咐襪旦結果為4.5
4、將4.5強制轉換成int整型,取整,結果為4
④ C語言 強制類型轉換運算符
可以利用強制類型轉換運算符將一個表達式轉換成所需類型。例如:
(double)a (將a轉換成double類型)
(int) (x+y) (將x+y的值轉換成int型)
(float)(5%3) (將5%3的值轉換成float型)
其一般形式為
(類型名)(表達式)
注意,表達式應該用括弧括起來。如果寫成
(int)x+y
則只將x轉換成整型,然後與y相加
需要說明的是,在強制類型轉換時,得到一個所需類型的中間變數,而原來變數的類型未發生變化。例如:
a=(int)x
如果已定義x為float類型變數,a為整型變數,進行強制類型運算(int)x後得到一個int類型的臨時值,它的值等於x的整數部分,把它賦給a,注意x的值和類型都未變化,仍為float型。該臨時值在賦值後就不再存在了。
從上可知,有兩種類型轉換,一種是在運算時不必用戶干預,系統自動進行的類型轉換,如3+6.5。第2種是強制類型轉換。當自動類型轉換不能實現目的時,可以用強制類型轉換。如%運算符要求其兩側均為整型量,若x為float型,則x%3不合法,必須用(int)x%3,。強制類型轉換運算符優先於%運算,因此先進行(int)x的運算,得到一個整型的中間變數,然後再對3求余。此外,在函數調用時,有時為了使實參與形參類型一致,可以用強制類型轉換運算符得到一個所需要類型的參數。
⑤ C語言強制類型轉換
強制類型轉換是把變數從一種類型轉換為另一種數據類型。
例如,如果想存儲一個long類型的值到一個簡單的整型中,需要把long類型強制轉換為int類型。可以使用強制類型轉換運算符來把值顯式地從一種類型轉換為另一種類型。
發生在同一個編譯系統中,比如說把int轉化為longint,在VC++6.0裡面,longint和int都是4個位元組,不會有問題的,但是如果把int類型轉化為short類型那就裝不下了,簡而言之就是長類型不能轉化為短類型。
int類型如果要轉化為float、double、longdouble類型的時候只是末尾多了幾個0,但是反之轉化,就會出現數據的損失,小數部位都被省略掉了。
賦值中的類型轉換
當賦值運算符兩邊的運算對象類型不同時,將要發生類型轉換, 轉換的規則是:把賦值運算符右側表達式的類型轉換為左側變數的類型。
由於C語言中的浮點值總是用雙精度表示的,所以float 型數據只是在尾部加0延長為double型數據參加運算,然後直接賦值。double型數據轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。
以上內容參考:網路-C語言類型強制轉換