避免出现无效步骤
在上一篇文章中我们提到了一个新的需求:要求输入一个整数,如果数值小于2,则输出Left;如果数值在2到10之间,则输出In;如果数值大于10,则输出Right。
用if…else if…else…语句写出来是这样的
1 2 3 4 5 6 7 8 9 10 11 12 13
| x#include<stdio.h> int main(){ int x; scanf("%d",&x); if(x<2){ printf("Left"); }else if(x>=2 && x<=10){ printf("In"); }else{ printf("Right"); } return 0; }
|
但是我们也可以这样写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include<stdio.h> int main(){ int x; scanf("%d",&x); if(x<2){ printf("Left"); } if(x>=2 && x<=10){ printf("In"); } if(x>10){ printf("Right"); } return 0; }
|
这样写也可以实现需求所要的结果,但是程序运行时会出现很多的多余步骤,假如我们输出的值是1那么程序运行时完全不需要进行后面的两个判断操作。
如果我们在编写程序时有过多的无效步骤,就容易出现报错。(这里主要是因为我们使用的是完全互斥条件所以没有报错)
综上,我们在编写程序时应该尽量避免无效步骤的出现。