第03天C語言(04):類型轉換

代碼

#pragma mark 類型轉換

#include <stdio.h>

int main()
{
    // 自動類型轉換(隱式轉化)(系統幫我們轉換的)
//    int number = 10.8;  //number 4個字節 double 8個字節   (好比一桶水倒進一個杯子里面,杯子裝不了)
//    printf("number = %i\n",number);
    
    //  強制類型轉換(顯示轉換)
    // (需要轉換的類型) 需要轉換的數據
    // 注意: 無論是隱式轉換還是顯示轉換, 只要講一個大類型的轉換,轉成小類型的數據,那么就有可能丟失精度
//    int number = (int)10.8;
//    printf("number = %i\n",number);
    
    /**
    // 在運算的過程中,其實還做了一次自動類型提升
    // 算術運算符規定: 只有相同類型的數據才可以進行運算
    // 如果在計算過程中,參與運算的操作數不是同一類型,那么系統會自動將小類型轉換為大類型,然后再進行運算.
    int result = 10 + 9.9;
    // int result = 10.0 + 9.9 == 19.9;
    printf("result = %i\n",result);
     */
    
    // 算術運算注意點: 參與運算的操作數是什么類型,那么計算出來的結果就是什么類型
//    double result = 1 / 2; // int int  結果int
//    double result = 1.0 / 2; // 1.0 / 2.0  == 0.5;        // 隱式轉換
//    double result = (double)1 / 2; // 1.0 / 2.0  == 0.5;    // 顯示轉換
    double result = (double)(1 / 2);    // 這種寫法是錯誤的寫法
    printf("result = %f\n",result);
    
    
    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容