A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董立正 中级黑马   /  2015-12-3 10:08  /  929 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*

算数运算符的类型转换

1)隐式转换(自动转换)
2)显示转换(强制转换)



*/

#include <stdio.h>

int main(int argc, const char * argv[]) {
   
    float f1 =23.4f;
    int num = 10;
    //1隐式转换
    //f1 + num
    //float + int 可以运行
    //int-->会自动的转换为float类型,隐式转换
    //float + float
    int sum = f1 +num;
   
    float f2 =f1 +num;
   
    printf("%d\n",sum);
   
    printf("%f\n",f2);
    //2显示转换
   
    //强制转换格式:(要转换的类型)要转换的变量或者是表达式(float的有效位数只有7位)
    printf("%d\n",(int)(f1 + num));
   
    //int + int
    int sum2 = (int)f1 + num;
    printf("sum2 = %d\n",(int)f1 + num);
   
    printf("f1 = %d\n",(int)f1);
   
   
    //注意事项
   
    //1、赢一个大数加上一个特别小的数,如果使用float会有问题
    int num3 = 3455;
    float f3 = 0.0003;
   
    printf("%f\n",num3  + f3);
    //2、强制转换时临时转换,不改变原值
   
    printf("f1=%d\n",(int)f1);//此处时临时转换 不会改变原值
   
    printf("f1 = %f\n",f1);
   
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马