包小龙虾
2018-08-04 16:18
55. 已知double a=5.2; 则正确的赋值表达式是( )。
A. a+=a-=(a=4)*(a=3)
B. a=a*3=2
C. a%3
D. a=double(-3)
我觉得ABCD都错呀,求老师帮忙解析下,拜托了,谢谢
正确答案是A,D,D的话,让-3以double的数据类型赋值给a;
A?哪错了啊?根据运算法则,先a=a-(a=4)*(a=3),就相当于a=5.2-4*3;然后a=5.2+(5.2-4*3),所以a输出出来就是-12;(a=4)*(a=3)这样是可以的,就把他看作4*3,就行了,平常开发中也不会这样写,主要看你概念熟不熟悉~
C选项,你懂的,根本不是一个赋值表达式~
B中,=的左边应该是变量,而不是表达式,你可以这样看,把"a="给省去,就"a*3=2",这里就错了。
多注意这些概念,加油~
正确答案是A
B, =的左边不能是表达式
C, 取模符号左右两边必须是整数
D, 强制类型转换必须加括号a = (double)-3
A项的a输出的是-1.6吧
C语言入门
926299 学习 · 20799 问题
相似问题