对于一个项目,我需要简化4 if语句。
我似乎不知道该怎么做。
if(apple == 1){
one++;
}
if(apple == 2){
two++;
}
if(apple == 3){
three++;
}
if(apple == 4){
four++;
}
答案 0 :(得分:3)
改为使用switch语句:
switch(apple){
case 1:
one++;
break;
case 2:
two++;
break;
case 3:
three++;
break;
case 4:
four++;
break;
default:
printf("No value!\n");
}
或者,您可以执行以下操作来摆脱这四个变量(标记为:one
,two
,three
,four
):
position[apple]++;
printf("Data[%d]: %d", apple, position[apple]);
这是一个没有switch或if语句的数组,只是一个以apple
变量作为索引确定位置的变量。
答案 1 :(得分:1)
这取决于您需要的具体程度。您的程序要达到的目标是什么?
您可以使用数组来表示变量one
,two
等。例如:
foo[apple]++;
使用apple
作为索引完全消除了对if
语句的需要。
如果您确实需要使用if
语句,则应该else if
。通常,将互斥语句放入else if
块中是一个好主意,因此代码不会每次都检查所有可能性。
if (apple == 1) {
one++;
}
else if (apple == 2) {
two++;
}
//This way if apple == 1, we don't ever run the other if statement!