44、设 int a=12,则执行完语句 a+=a-=a*a后,a的值是

44、设 int a=12,则执行完语句 a+=a-=a*a后,a的值是 

A) 552 B) 264 C) 144 D) -264


包小龙虾
浏览 6149回答 2
2回答

onemoo

又是一道烂题!  要是在面试中,你可以告诉面试官此语句的结果是未定义的。+=   -= 这样的复合赋值运算符的副作用只能确定是在其值计算之后,但是左右侧操作数哪个先求值却是不确定的,所以整个表达式的结果是未定义的。

qq_苦笑释怀_0

根据代码执行来看结果应该是-120 a+=a-=a*a ==> a+(a-a*a) 此题应该牵扯到了值类型和引用类型的定义
打开App,查看更多内容
随时随地看视频慕课网APP