先看代码:咱们本意是对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