文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
3.5.3 goto 语句
goto 语句也被称为“跳转语句”,是不是从名字上就可感受到它的厉害?是的,它可让流程在不同的语句间进行跳转。它的使用格式为:
goto 标签;
goto 语句中需要用到标签,标签由一个标识符和一个冒号组成,例如:
AAA: //AAA 标签
上例为由三个大写字母 A 构成的标签,即标签名为“AAA”,它可以放置在函数体中的任何位置。当 goto 语句被执行时,流程就会转到所指定的标签处继续往下执行。可以利用 goto 语句来达到循环的效果。
在主函数的 if 语句中,当变量 i 的值小于等于 10 的时候,条件表达式为真,因此 goto 语句被执行,goto 语句会将程序的执行流程跳转至标签 AAA 处。如此反复执行,直至变量 i 的值为 11 时,条件表达式的值为假,才会停止执行 goto 语句。所以最终会使 printf 函数被执行 10 次,程序运行结果如下:
1 2 3 4 5 6 7 8 9 10
在使用 goto 语句时,需要注意几点:①一条 goto 语句只能对应一个标签;②goto 语句与所对应的标签要在同一个函数内;③不要用 C 语言中的关键字作为标签名;④同一函数内的标签名不可重复;⑤goto 语句通常和 if 语句搭配使用。
像上面这个案例结构很简单,主函数中语句很少,使用 goto 语句没什么问题。但如果是在的一个语句比较多的函数中,并且里面充斥着大量的标签和 goto 语句,程序的执行流程在众多的 goto 语句和标签间来回跳转,用户会不会晕头转向呢?的确如此,使用 goto 语句会让代码的逻辑结构变得混乱,代码维护变得艰难。所以在代码中尽量避免使用 goto 语句,可以利用循环来代替 goto 语句。毕竟代码结构清晰,方便阅读和维护是最重要的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论