C语言++的问题.

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:03:53
{
int i=1,j=1,k=2;
if((j++ ||k++ )&&i++ )
printf("%d,%d,%d\n",i,j,k);
}

输出2 2 2 说明步骤

(j++ ||k++ )&&i++

先将j的值作为||左边的结果,就是1,那么显然成立,然后j加上1,就是2了。由于||的短路作用,后面的k++不计算。然后做&&右边,取i的值作为结果,显然成立,然后i加上1,就是2. 由于if条件成立,打印结果,ijk的结果分别是 2 2 2. 其中的k没有变化。