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



