C語言中 if 和 else if 的區別


先看代碼:我們本意是對i不同的值有不同的判斷。

#include<stdio.h>
int main(void)
{
    int i = 1;
    if(i == 1)
    {
        i++;
        printf("%d\n",i);
    }
    if(i == 2)
    {
        i++;
        printf("%d\n",i);
    }
    if(i == 3)
    {
        {
        i++;
        printf("%d\n",i);
        }
    }
    return 0;
}
#include<stdio.h>
int main(void)
{
    int i = 1;
    if(i == 1)
    {
        i++;
        printf("%d\n",i);
    }
    else if(i == 2)
    {
        i++;
        printf("%d\n",i);
    }
    else if(i == 3)
    {
        {
        i++;
        printf("%d\n",i);
        }
    }
    return 0;
}

第一個代碼運行結果 

2
3
4

第二個代碼

2

由結果可見,第二個代碼是我們想要的,這是因為第一的代碼中幾個if語句是獨立的,

可以進入任意多個if語句中,而第二個代碼中if和else if是相互關聯的,只有可能進入

其中一個,因此才會出現兩種不同的情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM