工具標籤
目錄
工具標籤
C 強制型別轉換
強制型別轉換是把變數從一種型別轉換成另一種資料型別。例如,如果您想要儲存一個 long 類型的值到一個簡單的整型中,您需要把 long 類型強制轉換為 int 類型。您可以使用強制類型轉換運算子來把值明確地從一種類型轉換為另一種類型,如下所示:
(type_name) expression
請看下面的實例,使用強制類型轉換運算子把一個整數變數除以另一個整數變量,得到一個浮點數:
#include <stdio.h>main(){ int sum = 17, count = 5; double mean;
mean = (double) sum / count;
printf("Value of mean : %f\n", mean );}當上面的程式碼被編譯和執行時,它會產生下列結果:
Value of mean : 3.400000
這裡要注意的是強制型別轉換運算子的優先權大於除法,因此sum 的值先轉換成double 型,然後除以count,得到一個型別為double 的值。
型別轉換可以是隱式的,由編譯器自動執行,也可以是明確的,透過使用強制型別轉換運算子來指定。在程式設計時,有需要型別轉換的時候都用強制型別轉換運算符,是一種好的程式設計習慣。
整數提升
整數提升是指將小於int 或unsigned int 的整數型別轉換成int 或unsigned int 的過程。請看下面的實例,在int 中加入一個字元:
#include <stdio.h>main(){ int i = 17; char c = 'c'; /* ascii 值是 99 */ int sum;
sum = i + c;
printf("Value of sum : %d\n", sum );}當上面的程式碼被編譯和執行時,它會產生下列結果:
Value of sum : 116
在這裡,sum 的值為116,因為編譯器進行了整數提升,在執行實際加法運算時,把'c' 的值轉換為對應的ascii 值。
常用的算術轉換
常用的算術轉換是隱含地把值強制轉換為相同的型別。編譯器首先執行整數提升,如果運算元類型不同,則它們會轉換為下列層級中出現的最高層次的類型:

常用的算術轉換不適用於賦值運算子、邏輯運算子&& 和||。讓我們看看下面的實例來理解這個概念:
#include <stdio.h>main(){ int i = 17; char c = 'c'; /* ascii 值是 99 */ float sum;
sum = i + c;
printf("Value of sum : %f\n", sum );}當上面的程式碼被編譯和執行時,它會產生下列結果:
Value of sum : 116.000000
在這裡,c 首先被轉換為整數,但由於最後的值是double 型的,所以會應用常用的算術轉換,編譯器會把i 和c 轉換為浮點型,並把它們相加得到一個浮點數。
相關影片
熱AI工具
免費脫衣圖片
用於從照片中去除衣服的線上人工智慧工具。
人工智慧驅動的應用程序,用於創建逼真的裸體照片
人工智慧支援投資研究,做出更明智的決策
熱門文章
熱門話題
20521
7
13634
4
11967
4
9011
17
8506
7
熱門工具
好用且免費的程式碼編輯器
中文版,非常好用
強大的PHP整合開發環境
視覺化網頁開發工具
神級程式碼編輯軟體(SublimeText3)












![PHP實戰開發極速入門: PHP快速創建[小型商業論壇]](https://img.php.cn/upload/course/000/000/035/5d27fb58823dc974.jpg)
