隱式類型轉換由編譯系統自
發布時間: 2024-06-23 06:07:50
① C語言中怎樣做到編譯器將隱式類型轉換視作錯誤
隱式類型轉換所謂隱式類型轉換就是在編譯時由編譯程序按照一定規則自動完成,而不需人為干預。因此,在表達式中如果有不同類型的數據參與同一運算時,編譯器就在編譯時自動按照規定的規則將其轉換為相同的數據類型。
C語言規定的轉換規則是由低級向高級轉換。
② C語言中,數據類型的隱式轉換與顯式轉換分別是個什麼意思
顯式轉換,就是強制轉換。在被轉換的表達式前加(類型),比如:(float)5,就是把5顯式轉換成float類型。
隱式轉換,就是不需要加強制轉換,系統會自動做這個操作,比如:
double k;
k=10;
10是int型,不需要顯式轉換,系統自動會把它轉為10.0。
(2)隱式類型轉換由編譯系統自擴展閱讀:
隱式自動類型轉換:
C++語言編譯系統提供的內部數據類型的隱式自動轉換規則如下:
1、執行算術運算時,低類型(短位元組)可以轉換為高類型(長位元組);例如: int型轉換成double型,char型轉換成int型等等;
2、賦值表達式中,等號右邊表達式的值的類型自動隱式地轉換為左邊變數的類型,並賦值給它;
3、函數調用時,將實參的值傳遞給形參,系統首先會自動隱式地把實參的值的類型轉換為形參的類型,然後再賦值給形參;
4、函數有返回值時,系統首先會自動隱式地將返回表達式的值的類型轉換為函數的返回類型,然後再賦值給調用函數返回。
熱點內容