||,&&,++i解答

int  i=1,j=1,k=2;  if((j++||k++)&&  i++) printf("%d,%d,%d\n",i,j,k); 执行后输出结果是()。

||或逻辑:左边为真,就会忽略右边表达式
&&与逻辑:左边为假,就会忽略右边表达式
if(i++)先判断i是否非零,无论i的值,其都会自加1
key:
流程结果如下:
i=1;j=1; k=2;
j=1>0为真忽略k++
但j++自动进行
i=1为真
i++自动进行
若++i 此时这个bool表达式的值就为2
若int i=0;初始化时,这是i++为假,++i为真;

posted on 2017-10-02 22:12  flyingwaters  阅读(258)  评论(0编辑  收藏  举报

导航