[单选题]设变量m,n,a,b,c,d的初值均为5,执行(m=a==b)ll(n=c==d)后,m,n的值是( )。

A

5,5 

B

5,1

C

1,5

D

1,1

正确答案:C
题目解析

本题考查C语言表达式语句。计算(m=a==b)ll(n=c==d)的过程是先计算逻辑或的左运算分量:(m=a==b)的值,由于赋位运算符的优先级比关系运算符==的优先级低,先计算a==b,因a,b均为5,所以比较结果值为1,将1赋给变m.使变量m的值变为1。同时这个赋值运算的结果也是1,这样逻辑运算的左运算分量的值为1。由于逻辑或运算的左运算分量值为1,按照C语言对逻辑或运算优化计算的规定,不再计算逻辑或的右运算分量,而直接得到逻辑或运算的结果为1。由于逻辑或的右运算分量不曾计算过,所以变量n的值也不变化。这样,上述表达式计算后,变量m的值为1,变量n的值为5。故选C。

扫描二维码
免费搜题、免费刷题、免费查看解析