【发布时间】:2011-08-04 09:02:31
【问题描述】:
我可以在 C 开关中使用类似 javas finally 子句的东西。我的大多数案例都有一组共享的功能,我想把它们放在一个案例中。我正在考虑使用 goto 语句来实现这一点,非常了解 goto 代码混淆能力,将共享案例放在 switch 语句的底部似乎仍然是一种“更干净”的方式来做到这一点,而不是将共享功能划分为单独的功能。
无论如何,我一直在尝试这样做:
switch( x ) {
case 0:
printf("Case 0\n");
goto case 2;
break;
case 1:
printf("Case 1\n");
goto case 2;
break;
case 2:
printf("Case 2\n");
break;
default:
// do nothing
break;
}
但是,使用 gcc,失败并出现错误
error: expected identifier or ‘*’ before ‘case’
关于如何使它工作的任何建议?或者可能是更好的方法?
【问题讨论】:
标签: c switch-statement goto