void main() { int i=1,j=1,k=2; if((j++||k++&&i++) printf("%d,%d,%d\n",i,j,k); }
void main() { int i=1,j=1,k=2; if((j++||k++&&i++) printf("%d,%d,%d\n",i,j,k); }
日期:2016-05-02 12:25:05 人气:1
1,2,2
原因:
j++ ,k++ ,i++ 都是先判断然后再进行自增运算
||逻辑或
左侧为假则对右侧进行运算
左侧为真则不对右侧进行运算直接返回真
&& 逻辑且
左侧为真则对右侧进行运算
左侧为假则不对右侧进行运算直接返回假
所以j为非零 直接返回真 并j++运算