万能百科  > 所属分类  > 

有以下程序: main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3))

有以下程序: main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d%d%d\n",i,j,k); } 程序运行后的输出结果是 ______。

A.1 2 3

B.2 3 4

C.2 2 3

D.2 3 3

正确答案:

D解析:执行“i++=1&&(++j=||k++=3)”时,表达式“i++=1”的值为真,其值为1,表达式“++j=3”的值为真,根据短路原理,右边的表达式“k++=3”不再进行运算,括号中表达的值为1,作与运算后整个表达式的值也为1,输出i,j,k时,由于未执行过k,所以它们的值分别为为2,3,3。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签