先看代碼:我們本意是對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是相互關聯的,只有可能進入
其中一個,因此才會出現兩種不同的情況。