若有以下定义,则正确的赋值语句是?int a;b=3;float x

A)a=1,b=2B)b++C)a=b=5D)b=(int)x
2025-02-24 01:10:21
推荐回答(3个)
回答1:

AC在编译的时候都是警告...不知道跟编译器是不是有关系.....是自动转换的那些东西吧.....复制了一段...希望对你有帮助
自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:
1.若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4.char型和short型参与运算时,必须先转换成int型。
5.在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。

回答2:

ac都是在定义一个变量,只有b是在进行赋值操作。

回答3:

选b,b是在赋值算赋值语句。