若有以下程序:
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
解析: 本题考查的知识点是运算符的优先级.在复合赋值语句中,应该由右向左依次赋值,在表达式中,右端由i*=k得i=2*2为 4,k=k+i,即k值为6,m=k故m=6.所以4个选项中C正确。
若有以下程序:
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
解析: 本题考查的知识点是运算符的优先级.在复合赋值语句中,应该由右向左依次赋值,在表达式中,右端由i*=k得i=2*2为 4,k=k+i,即k值为6,m=k故m=6.所以4个选项中C正确。