首页 > 解决方案 > 将switch语句中的case组合起来用于相同的操作并使用if else语句进行特定操作是否很好

问题描述

我在 switch 语句中有 4 个案例,如果设置了标志,它们的行为将相似,如果未设置标志,则行为会有所不同,在这种情况下,最好结合这些案例并检查是否设置了标志并执行操作,如果未设置标志 在组合案例中使用 if/else 语句,如下所示:

void somefun(int caseNo, char* status)
{
  switch(caseNo)
  {
    case 1:
    case 2:
    case 3:
    case 4:
     if(flag == 1)
       *status = 0;
     else
     {
       if(caseNo == 1)
         //do some op for 1
       else if (caseNo == 2)
         //do some op for 2
       else if (caseNo == 3)
         //do some op for 3
       else 
         //do some op for 4

       *status = 1;
     }    
  }
}

或者最好将每个案例分开并为每个案例分别检查标志。

标签: c

解决方案


推荐阅读