问题
单项选择题
下列程序段选项中,使i的运行结果为4的程序段是______。
A.int i=0,j=0;
(i=3,(j++)+i)
B.int i=1,j=0;
j=i=((j=3*2))
C.int i=0,j=1;
(i==1)(i=1):(i=3)
D.int i=1,j=1;
i+=j+=2;
答案
参考答案:D
解析: 选项A中,主要明确逗号表达式运算符的优先级低于赋值运算符优先级,因此i=3;选项B中,括号内先计算3*2得到6,然后对j赋值为6,所以得i=6;选项C中,条件表达式j==1成立,故i=1;选项D中,算术赋值运算符的运算川页序是自右向左,故i+=j+=2相当于j=j+2,i=i+j,故i=4,i的运算结果为4,满足题目要求。