读书人

隐性转换的加号优先级解决方案

发布时间: 2012-04-15 18:39:21 作者: rapoo

隐性转换的加号优先级
已知下列定义:
int ival;
char cval;
double dval;
float fval;

指出可能发生的隐式类型转换:

cval=ival+fval+dval

请问该式发生的隐式转换是以下两种中的哪一种?为什么?
1。先将ival转换成float型,然后与fval相加后得float型,然后再将结果转换成double型,在与dval相加后成double型,在转换成char型付给cval;


[解决办法]
1。先将ival转换成float型,然后与fval相加后得float型,然后再将结果转换成double型,在与dval相加后成double型,在转换成char型付给cval;

就这种,优先级是+后=;三数相加从左到右;两数相+,隐性转换是“小从大”的原则

读书人网 >C语言

热点推荐