【发布时间】:2013-08-23 18:02:34
【问题描述】:
我可以使用 Goto 跳转到其他功能吗?例如
void x(){
printf("hello");
}
void y(){
printf("hi");
}
int main(){ /*assume that all var are declared */
scanf("%d",&input);
if(input == 1) goto y();
else(input == 2) goto x();
}
【问题讨论】:
-
你试过编译吗?
-
指针 - >
goto不是一个函数,它是一个跳转语句 - 而是一个evil语句 -
@sansix:“邪恶”是纯粹的修辞,
goto有它的用途,就像汇编器有它的用途一样。 -
它的实际用途比实际用途要有限得多。在代码中使用 goto 的最大问题(尽管从这个示例中可能不那么明显)是它使您的代码难以维护。例如,如果您有一个大约 30,000 行代码的程序,并且到处都有 goto。您将在代码中上下跳跃,这种方式不一定符合逻辑,无法弄清楚它到底在做什么。