C語言的短路現象

&&和||的短路現象

設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爲非零成立,不是隻有正數才能成立,負數也可以成立

發佈了47 篇原創文章 · 獲贊 31 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章