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

admin2010-06-06  20

问题 有以下程序    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。
转载请注明原文地址:https://kaotiyun.com/show/Pwjp777K
0

最新回复(0)