Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-使用goto语句管理多个标签_C_Label_Goto - Fatal编程技术网

C-使用goto语句管理多个标签

C-使用goto语句管理多个标签,c,label,goto,C,Label,Goto,祝你今天愉快 我必须开发一个包含尽可能多的goto-语句和标签的程序。 所以我的问题是,一个人怎么能轻松地做到这一点 我想在的同时为每个如果/否则/实现一个转到。 我不知道如何以适当的方式管理这件事 让我们假设main()中有以下形式的代码: 最后,我希望有一个以下形式的代码: while (...) { ... goto PRIMARY_IF; ... } PRIMARY_IF: ... ... END_PRIMARY_IF: ... 如果/其他/而时,对每个使用标签

祝你今天愉快

我必须开发一个包含尽可能多的
goto
-语句和
标签的程序。
所以我的问题是,一个人怎么能轻松地做到这一点

我想在
的同时为每个
如果
/
否则
/
实现一个
转到
。 我不知道如何以适当的方式管理这件事

让我们假设main()中有以下形式的代码:

最后,我希望有一个以下形式的代码:

while (...)
{
  ...
  goto PRIMARY_IF;
  ...
}

PRIMARY_IF:
  ...
  ...
END_PRIMARY_IF:

...
如果
/
其他
/
时,对每个
使用
标签
gotos
,将此代码转换为正确代码的最佳方法是什么

非常感谢您的帮助!
提前谢谢

我不知道你为什么要这么做。您的C代码(通常)是通过assembley编译的,assembley没有循环。你的
while
循环和
if
语句会变成条件跳转,所以试着这样做吧?在C语言中,通常的目标是使用最少的标签和
goto
语句,最好是不使用。
//do something
,因为如果它使用任何局部变量,然后您不能跳出循环的范围,因为您将无法使用这些变量。如果您想要尽可能多的GOTO,那么保存以进行初始化,您可以对每个作用域中的所有行重新排序,并使您的程序自下而上执行。谢谢您的回答。我只使用全局变量@你能用一个简短的例子来说明你的想法吗?我想你提到了我没有说得那么远的一点。提前谢谢@当然,我不知道你为什么要这么做。您的C代码(通常)是通过assembley编译的,assembley没有循环。你的
while
循环和
if
语句会变成条件跳转,所以试着这样做吧?在C语言中,通常的目标是使用最少的标签和
goto
语句,最好是不使用。
//do something
,因为如果它使用任何局部变量,然后您不能跳出循环的范围,因为您将无法使用这些变量。如果您想要尽可能多的GOTO,那么保存以进行初始化,您可以对每个作用域中的所有行重新排序,并使您的程序自下而上执行。谢谢您的回答。我只使用全局变量@你能用一个简短的例子来说明你的想法吗?我想你提到了我没有说得那么远的一点。提前谢谢@当然可以。
while (...)
{
  ...
  goto PRIMARY_IF;
  ...
}

PRIMARY_IF:
  ...
  ...
END_PRIMARY_IF:

...