24、设有以下变量定义,并已赋确定的值: char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数

发布网友 发布时间: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,自动向上一级类型转换

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com