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

void main() { int i=1,j=1,k=2; if((j++||k++&&i++) printf("%d,%d,%d\n",i,j,k); }

1,2,2 原因: j++ ,k++ ,i++ 都是先判断然后再进行自增运算 ||逻辑或 左侧为假则对右侧进行运算 左侧为真则不对右侧进行运算直接返回真 && 逻辑且 左侧为真则对右侧进行运算 左侧为假则不对右侧进行运算直接返回假 所以j为非零 直接返回真 并j++运算
    A+
热门评论