c - 将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;
}
}
}
或者最好将每个案例分开并为每个案例分别检查标志。
解决方案
推荐阅读
- r - RStudio 自动加载包
- swiftui - 如果我按下后退按钮,我如何在 UserDefaults SwiftUI 中为注销按钮重置数据?
- angular - this.contacts.push(contact) 有问题;& 如果(数据.n==1)
- linux - 使用 ad-hoc ansible 命令读取环境变量
- javascript - 这个 reactJS 代码中 Tab.TabPanel 的目的是什么?
- bash - 根据 2 个文件中的 1、2、3 列匹配合并 2 个文件并从 2 个文件中打印特定列。还在输出中保留两个文件中的非配对行
- python - Python将每个查询表字段存储在不同的变量中
- sql - Redshift - 如何使用一个表中的列作为 SIMILAR TO 中的模式
- javascript - 输入错误:无法在搜索输入中输入“S”
- html - 最初将宽度设置为适合内容时,CSS宽度过渡不起作用