问题 单项选择题

若有以下程序:
main()
int k=2,i=2,m;
m=(k+=i*=k);printf('%d,%d\n",m,i);

执行后的输出结果是( )。

A.8,6

B.8,3

C.6,4

D.7,4

答案

参考答案:C

解析: 在复合赋值语句中,应该由右向左依次赋值,在表达式m=(k+=i*=k)中,右端由i*=k得i=2*2为4,k=k+i,即k值为6,m=k故m=6。所以4个选项中C正确。

多项选择题
单项选择题