问题 单项选择题

有以下程序 main() { int i=1,j=1,k=2; if((j++||k++)&& i++) cout<<i<<","<<j<<","<<k<<endl; } 执行后输出结果是

A.1,1,2

B.2,2,1

C.2,2,2

D.2,2,3

答案

参考答案:C

解析: 本题考查逻辑表达式及自增运算符的联合使用。考生要注意本题里面隐藏的考点: &&和||在左侧表达式为真或假时,将不再进行该逻辑操作符右侧表达式的运算,即j++本身为非零,故k++不再执行。如对表达式a&&b&&c,实际执行情况是当a非0时,再判断b,a、b均非0,再判断c。而对表达式a||b||,c,若a为非0,不必判断b和c,结果一定为1。

单项选择题 A1/A2型题
判断题