问题 单项选择题

以下程序的输出结果为( )。
public class Main
public static void main(String[] args)
int i=0, j=0, a=6;
if((++i>0)||(++j>0)) a++;
System. out. println( "i=" +i+", j ="+j+", a="+A) ;

A) i=0, j=0, a=6


B) i=1, j=1, a=7
C) i=1, j=0, a=7


D) i=0, j=1, a=7

答案

参考答案:C

解析: 因为表达式(++i>0)先进行了i自增1的运算,所以i的值不可能为0。因此答案 A和D都不对。
因为表达式(++i>0)的值为“真”,对于“或”运算来说只要运算符“||”左边的值为“真”,已确定了整个表达式的值为“真”,因而不再去做“||”运算符右边的运算,所以++j的运算并未进行。因此,答案C是正确的输出结果。

单项选择题
单项选择题