先看代碼:咱們本意是對i不一樣的值有不一樣的判斷。spa
#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; }
第一個代碼運行結果 code
2 3 4
第二個代碼blog
2
由結果可見,第二個代碼是咱們想要的,這是由於第一的代碼中幾個if語句是獨立的,io
能夠進入任意多個if語句中,而第二個代碼中if和else if是相互關聯的,只有可能進入class
其中一個,所以纔會出現兩種不一樣的狀況。di