【数据类型转换】不同数据类型在同一表达式中的类型转换

数据类型转换有两种:
a 强制类型转换,通过函数实现,  如
 char c='a'; int i; i=int(a); // 强制转换,但不会改变a本身的类型。
b 自动类型转换,通过编译器自动实现,
不同类型的数据在一个表达式中会自动转换为最长的类型:
 如你定义的char a; int b; float c; double d; 
 计算a*b+c-d时, 按计算顺序说明类型转换:
1 a*b      // char类型的a 转换为int类型的值, 再和int 类型的b 相乘
2 a*b+c    // int 类型的a*b转换为float类型值,再和float类型的c相加
3 a*b+c-d  // float类型的(a*b+c)转换为double类型的值,再和double类型的d相减
不考虑过程, 最终表达式的值为最长类型(这里是double)的值

你可能感兴趣的:(【数据类型转换】不同数据类型在同一表达式中的类型转换)