避免出现无效步骤

在上一篇文章中我们提到了一个新的需求:要求输入一个整数,如果数值小于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;//声明x变量为整数int类型
scanf("%d",&x);//运用scanf函数扫描输入值并保存在变量x中
if(x<2){//if进行第一步判断x是否小于2
printf("Left");
}else if(x>=2 && x<=10){//进行第二步判断x是否在2-10之间
printf("In");
}else{//第三种可能性就是x大于10所以之间跳过if判断填写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则输出Left
}
if(x>=2 && x<=10){
printf("In");//if判断如果x小于等于二且小于等于10则输出In
}
if(x>10){
printf("Right");//if判断如果x大于10则输出Right
}
return 0;
}

这样写也可以实现需求所要的结果,但是程序运行时会出现很多的多余步骤,假如我们输出的值是1那么程序运行时完全不需要进行后面的两个判断操作。

如果我们在编写程序时有过多的无效步骤,就容易出现报错。(这里主要是因为我们使用的是完全互斥条件所以没有报错)

综上,我们在编写程序时应该尽量避免无效步骤的出现。