大家好,今天小编关注到一个比较有意思的话题,就是关于c语言隐式转换的问题,于是小编就整理了3个介绍c语言隐式转换的解答,让我们一起看看吧。
C语言中,数据类型的隐式转换与显式转换分别是个什么意思?
隐式转换就是不带转换类型的转换,如int转float你可以这样子floata;intb=4; a=b就是隐式转换,而a=(float)b就是显示转换。区别在于当向下转换时如果不显示转换就会有问题,如floata=4.5;intb=a;这里就可能报错,因为int可以自动上升为float,但由float不能自动转化为int,这里就需要显式转换,即intb=(float)a才是最保险的;所以显式转换肯定不会出错,但隐式转换就说不定了。
c语言中实型变量可以存放整型数吗?
是可以的。
在C语言中实型变量用double类型来运算,double类型占用8个字节,而int类型是4个字节,所以把4个字节的东西放到8个字节中,是可以的。但是反过来,把double放到int里就是不行了(8个字节是无法放到4个字节里)。
C语言会将整型数值隐式转换为浮点型数值后赋值给浮点型变量。例:double d = 10;实际上相当于:double d = (double)10。
C语言中int后是一个带有小数的数字,那么它的值是多少?
例子:int(2.5+4.7)的值为:7,先求和,再将浮点型7.2强制转化为整形7。若不带括号,如:(int)2.3+5.5,则先将2.3强制转化为2,再和5.5相加,结果为7.5(2和5.5相加时,2先隐式转化为浮点型再跟5.5相加)。
到此,以上就是小编对于c语言隐式转换的问题就介绍到这了,希望介绍关于c语言隐式转换的3点解答对大家有用。