【发布时间】:2013-03-29 11:28:05
【问题描述】:
我想显示输出 - 数字 1 到 5,然后无限显示 4-5。有什么方法可以传递 i(4) 的值而不是 goto1 中的字符 i。或者是否有任何其他有效的方法来实现这一点,而无需像 switch 中那样说明所有选项(即案例 1:goto1(c1) 等)。
主要目的是跳转到在程序中计算其标签的语句。
#define goto1(i) \
goto c##i
int main(){
c1 : printf(" num is 1 \n");
c2 : printf(" num is 2 \n");
c3 : printf(" num is 3 \n");
c4 : printf(" num is 4 \n");
c5 : printf(" num is 5 \n");
int i=4;
goto1(i);
}
【问题讨论】:
-
如果你改一下标题会很有帮助,比如“动态跳转到 C 中的标签”之类的。
-
您是在找麻烦吗 :) 或者您正试图进入黑暗时代,goto 总是很糟糕,即使您可以处理它。带有 goto 的小应用程序可能看起来不错,但大的应用程序会令人困惑,而且可能不合逻辑。 go to 总是可以组装一些硬件语言,但良好的编码 godo 似乎没用
标签: c