C语言类型强制转换
若有定义:chara;intb;floatc;doubled;则表达式a*b+d-c的值的类型是?...
若有定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型是?
展开
3个回答
展开全部
进行算术运算(加、减、乘、除、取余以及符号运算)时,不同类型数招必须隐式转换成同一类型的数据才能运算,算术转换原则为:
在进行运算时,以表达式中最长类型为主,将其他类型位据均转换成该类型,如:
(1)若运算数中有double型或float型,则其他类型数据均转换成double类型进行运算。
(2)若运算数中最长的类型为long型.则其他类型数均转换成long型数。
(3)若运算数中最长类型为int型,则char型也转换成int型进行运算。算术转换是在运算过程中自动完成的
你所说的这个表达式结果类型为double型。
在进行运算时,以表达式中最长类型为主,将其他类型位据均转换成该类型,如:
(1)若运算数中有double型或float型,则其他类型数据均转换成double类型进行运算。
(2)若运算数中最长的类型为long型.则其他类型数均转换成long型数。
(3)若运算数中最长类型为int型,则char型也转换成int型进行运算。算术转换是在运算过程中自动完成的
你所说的这个表达式结果类型为double型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询