main() {int i=0,j=1,k=2; if(!(i++&&(j++||k++))) printf ("%d,%d,%d\n",i,j,k); }
main() {int i=0,j=1,k=2; if(!(i++&&(j++||k++))) printf ("%d,%d,%d\n",i,j,k); }
日期:2010-11-13 17:17:00 人气:1
i++是先使用了原来的i值以后再让i的值自增1,原来的i=0,直接判断i++&&(j++||k++)为假false,后面的都不用执行了,而且j,k的值都不能变了,就保持原来的值。那么它的(!(i++&&(j++||k++)))为真true,i使用完了,可以自增为i=1,j,k,仍然为原来的值不能自增。那么输出来的就是,1,1,2.