如何处理C语言中大量的If条件?

如何处理C语言中大量的If条件?,c,if-statement,C,If Statement,我有一个代码,其中包含大量的if格式,如下所示: if(condition1) { //code } else //code if(condition2) { //code } else //code ..... ..... 这些if条件类似于18-20,我认为使用if条件会使代码变得复杂。如何编写代码来避免这么多的Ifconion?如果您有一个非常简单的条件,并且只有许多条件,那么可以使用switch函数。如何使用它的一个例子是 int choice; choice =

我有一个代码,其中包含大量的if格式,如下所示:

if(condition1)
{
  //code
}
else
  //code

if(condition2)
{
  //code
}
else
  //code
..... 
.....

这些if条件类似于18-20,我认为使用if条件会使代码变得复杂。如何编写代码来避免这么多的Ifconion?

如果您有一个非常简单的条件,并且只有许多条件,那么可以使用switch函数。如何使用它的一个例子是

int choice;
choice = 32; // logic to fill choice with whatever your variable in condition is

switch(choice)
{
case 1:
// some logic
break;
case 2:
// some logic
break;
case 32: 
// some logic
break;
}
等等。你明白要点了

如果条件更复杂,则必须使用If语句。考虑其他逻辑。像这样:

if (condition1) 
{
//logic
}
else if (condition2)
{
//logic
}
else
{
//logic
}

考虑三元算子

(expr) ? <true logic> : <false logic>

情况有多复杂?不同的条件是否相关?你能换一些吗?例如,换成开关?也许你应该开始考虑一种不同的设计,在实现中不需要那么多if?你的代码做什么?是否有简单的解决方案将取决于条件本身以及数据的组织方式。您没有向我们提供足够的信息来回答您的问题。尝试提供更多细节,以便我们可以给您一个具体的答案。如果您发现具有所有条件的函数由于其大小而变得过于复杂,请尝试将其划分为更小的函数。