B. 错

该赋值表达式不合法。

原因:

  1. b 是浮点型变量,b+3 的结果也是浮点型。
  2. int(b+3) 使用 int 类型强制转换,将浮点数 b+3 向下取整,结果为整数。
  3. 赋值操作要求左右两侧类型一致,但左侧 a 为整型,右侧 int(b+3) 为整型,类型一致,看似合法。
  4. 然而,C语言中不允许将浮点数直接赋值给整型变量,即使使用了 int 类型强制转换,也需要使用 float 类型变量来接收强制转换后的结果。

因此,该赋值表达式不合法,应该使用 float 类型变量来接收 int(b+3) 的结果。

C语言赋值表达式合法性判断:int a; float b=2.1; 则 a=int(b+3) 是否合法?

原文地址: https://www.cveoy.top/t/topic/o4bM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录