已知 int a = 'R' ;则正确的表达式是 ()

A、a%10 B、a=int(3e2) C、2*a=a++ D、a=a+a=a+3

解析:

  • A、a%10:错误。因为 'R' 是字符类型,不能直接进行模运算。
  • B、a=int(3e2):正确。将科学计数法表示的浮点数转换为整型,并赋值给变量 a。
  • C、2*a=a++:错误。赋值运算符的优先级低于自增运算符,所以 a++ 会先执行,再进行乘法运算,最后赋值给 a,导致最终结果与预期不符。
  • D、a=a+a=a+3:错误。赋值运算符是右结合的,所以 a=a+a=a+3 会从右往左执行,等同于 a = (a + a) = a + 3,最终 a 的值将是 'R',无法进行加法运算。

结论: 只有 B 选项是正确的,其他选项存在类型错误、运算符优先级错误或赋值逻辑错误。

C语言 int 变量赋值与表达式 - 常见错误解析

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

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