发布网友 发布时间:2022-04-23 22:50
共5个回答
热心网友 时间:2023-10-12 17:57
因为*比+,-的优先级高并且算术运算符是左结合,所以先做w*x,这里面w是char型,按照C语言的规则,要无条件的转化为int型。x是整型,和w相乘,结果为整形。下一步求w*x+z,由于z是double型,所以w*x所得的为int型的值会转化为double型。下一步,由于y是float型,其要无条件的转化为double型,之后才能参加w*x+z-y的运算。w*x+z为double型,y也为double型,所以这两数之差仍为double型。
热心网友 时间:2023-10-12 17:57
double,一个表达式中的最终结果的数据类型按照最高位的数据类型为准!追问数据类型为(double)?
追答是的,就是double,就是双精度型。
热心网友 时间:2023-10-12 17:58
双精度类型, 低精度的数据类型要自动向高精度转换的
热心网友 时间:2023-10-12 17:58
则表达式:w*x+z-y所求得的数据类型为double
热心网友 时间:2023-10-12 17:59
double,自动向上一级类型转换