单选题 若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和l(2的值分别为{{U}} {{/U}}。
  • A.0和1
  • B.0和20
  • C.10和1
  • D.10和20
【正确答案】 B
【答案解析】[解析] 由于k1等于10,k2等于20,所以关系表达式k1>k2的值为假,即等于0,所以在执行逻辑表达式(k1=k1>k2)&&(k2=k2>k1)的第一个赋值表达式k1=k1>k2执行后,k1的值等于0。又因为在逻辑与表达式中只要第一表达式的值为假时,整个逻辑表达式的值就为假,第二表达式不执行,k2值不改变。