数据类型转换的常见错误

  1. int cost = 12.99 // 实型常量默认为double类型,如此定义,会将小数部分直接截去,之后cost = 12

  2. float pi = 3.1415926536 // 实型常量默认为double类型,有效位默认>=10位,而float有效位为6位,所以pi会丢精度为3.14159

  3. *检测数据转换的常见错误*/
    # include <stdio.h>

    int main(void)
    {
      int f = 4;
      int g = 5;
      float h = 5.0f;

      printf("%d\n", f, g);
      printf("%d %d\n",f);
      printf("%d\n", h);

      return 0;
    }
    /*输出结果
    0
    4 0
    0
    */
    //不同的编译器的输出结果是不同的,因此,参数数目和类型一定要匹配


  4. printf(“%1.2f”, a);//表示把a输出保留2小数用四舍五入,且整个数字占用1格。

  5. float num = 126.2    //其中num在作为参数传递时会转换为double存放在内存中

  6. 总结

  7. 当出现在表达式里时,char 和short 都会转换成int,视情况转换成unsigned int。,float转化成double类型

  8. 在混合运算中低级类型转换成高级类型;由高到低 long double ,double ,float,unsigned long long ,unsigned long, long, unsigned int, int

  9. 在赋值语句中计算结果会被转换成将要被赋予值的那个变量的类型。

  10. 当做函数参数传递的时候,char 和short 转化成int 而float 转化成double

  11. int b;b+5;中5默认是int

转载于:https://my.oschina.net/u/2423028/blog/483875

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值