黑马程序员技术交流社区

标题: 类型转换 [打印本页]

作者: 董立正    时间: 2015-12-3 10:08
标题: 类型转换
/*

算数运算符的类型转换

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;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2