C语言day03-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;
}
    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/ff1630556d92
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞