69,369
社区成员
发帖
与我相关
我的任务
分享
int j;
switch(i){
case 1:
j=10;
代码A;
break;
case 2:
j=20;
代码A;
break;
case 3:
j=30;
代码A;
break;
case 10:
j=100;
代码B;
break;
case 20:
j=200;
代码B;
break;
case 30:
j=300;
代码B;
break;
}
int j;
switch(i){
case 1:
case 2:
case 3:
j=i*10;
代码A;
break;
case 10:
case 20:
case 30:
j=i*100;
代码B;
break;
}
int j;
struct _vTableFunc{
int ival;
int idata;
int funcNum;
} vtable[] =
{
1, 10, 1,
2, 20, 1,
3, 30, 1,
10, 100, 2,
20, 200, 2,
30, 300, 2,
40, 400, 3,
50, 500, 3,
0, 0, 0, // 如果没有匹配数据,则全为0
};
int k=0;
for (k=0; k<sizeof(vtable)/sizeof(struct _vTableFunc)-1; k++)
{
if (vtable[k].ival == i)
{
j = vtable[k].idata;
break;
}
}
if (vtable[k].funcNum == 1)
{
// 代码A;
}
else if(vtable[k].funcNum == 2)
{
// 代码B;
}
else if (vtable[k].funcNum == 3)
{
// 代码C;
}
switch(i)
{
case 1:
case 2:
case 3:
j = i * 10;
代码A;
break;
case 10:
case 20:
case 30:
j = i * 10;
代码B;
break;
}
switch(i)
{
case 1:
case 2:
case 3:
j = i * 10;
代码A;
break;
...
}
int j;
switch(i){
case 1:
j=10;
goto A;
case 2:
j=20;
goto A;
case 3:
j=30;
A:代码A;
break;
}
这样子