今天在想else if 和else if的关系,有些疑惑,所以整理一下。
大家都知道if /else之间的逻辑关系?
那else if 和else if的逻辑关系哪?
是这种关系吗,首先if占有一块后,第一个else if 和第二个else if 并列,可以一起去切if之后的蛋糕吗?
不是的!
他们的关系类似与这种关系。
if切走一块蛋糕,第一个else if在切走一块蛋糕,剩余的else if可以在切。
例子程序:
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a;
scanf("%d",&a);
if(a>10)
printf("大于10\n");
else if(a<10)
printf("小于10\n");
else if(a<5)
printf("小于5\n");
return 0;
}
输入是3
运行结果 :小于10.
结论:在一个ifelse会切走<10的蛋糕,即使第二个也确实小于<5,那也不会执行。
想要实现用if即可,例子
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int a;
scanf("%d",&a);
if(a>10)
printf("大于10\n");
if(a<10)
printf("小于10\n");
if(a<5)
printf("小于5\n");
return 0;
}