C语言表达式求值:哪个表达式结果不等于6?
C语言表达式求值:哪个表达式结果不等于6?
题目: 设有定义:int x = 2; ,以下表达式中,值不为6的是( )
A. 2*x, x+=2
B. x++, 2*x
C. x*= (1+x)
D. x*= x+1
解析:
-
A选项: 第一个表达式
2*x的值为4,第二个表达式x+=2等价于x = x + 2,结果也为4,都不等于6。 -
B选项: 第一个表达式
x++是先取值再自增,所以表达式的值为2,第二个表达式2*x的值为4,都不等于6。 -
C选项:
x*= (1+x)等价于x = x * (1+x),即x = 2 * (1+2) = 6,等于6。 -
D选项:
x*= x+1等价于x = x * (x+1),即x = 2 * (2+1) = 6,等于6。
因此,答案为A和B选项。
原文地址: https://www.cveoy.top/t/topic/joyH 著作权归作者所有。请勿转载和采集!