&&和||的短路現象
設i= 0;j = 0
1、
if((++i) < 0) && (++j))
{
printf("%d,%d",i,j);
}
結果爲:1,0
因爲&&判斷前面一個如果不符合就直接跳出,所以++j不會進行自加運算
2、
if(((++i) > 0)|| (++j))
{
printf("%d,%d",i,j);
}
結果爲:1,0
因爲||判斷前面一個符合就直接跳出,j不會進行自加
3、if的注意事項:if爲非零成立,不是隻有正數才能成立,負數也可以成立