如何在 main 函数之外的 C++ 中为 goto 定义标签?
How to define labels for goto in C++ outside main function?
是否可以在C/C++中使用goto语句跳转到main函数之外的标签?类似于:
lab0: //First label
std::cout<<"Hello, ";
goto lab1;
lab1: //Second label
std::cout<<"World!";
goto lab2;
int main()
{
goto lab0;
lab2: //Third label
std::cout<<std::endl;
return 0;
}
关于 goto 和 label 语句,有什么我没有理解的吗?是的,我知道 goto 和 label 语句通常不适合编程,但它们确实有助于摆脱深层嵌套循环和类似的东西。
不,但如果您真的、真的、真的需要它——而且您几乎肯定不需要——setjmp 功能可能适合您。不能执行不存在的全局语句,但是可以直接跳转到函数中间等等。
是否可以在C/C++中使用goto语句跳转到main函数之外的标签?类似于:
lab0: //First label
std::cout<<"Hello, ";
goto lab1;
lab1: //Second label
std::cout<<"World!";
goto lab2;
int main()
{
goto lab0;
lab2: //Third label
std::cout<<std::endl;
return 0;
}
关于 goto 和 label 语句,有什么我没有理解的吗?是的,我知道 goto 和 label 语句通常不适合编程,但它们确实有助于摆脱深层嵌套循环和类似的东西。
不,但如果您真的、真的、真的需要它——而且您几乎肯定不需要——setjmp 功能可能适合您。不能执行不存在的全局语句,但是可以直接跳转到函数中间等等。