首页 / C语言 / C语言 goto语句
C语言 goto语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C语言 goto语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1440字,纯文字阅读大概需要3分钟。
内容图文
/* goto语句 */ #include <stdio.h> #include <stdlib.h> #include <string.h> /* goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。 *//* "但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。" 所有goto说明都有类似提示,但是个人感觉goto还是很有用的 */int handle(int num) { return num; } //goto基本用法void test1() { int errCode = 0; //业务1 errCode = handle(1); if (errCode) { goto err; } //业务2 errCode = handle(1); if (errCode) { goto err; } printf("-----ok----\n"); return; err: //资源释放处理 printf("program is error .\n"); } /* goto作用域说明 标签本身没有作用域的,只是一个标志点。 但是goto本身有限制,只能是当前函数。所以,从这个角度来说,标签的作用域也可以说是当前函数。 */void test2() { int errCode = 0; errCode = handle(1); if (errCode) { //goto err; error C2094: 标签“err”未定义 } } int main() { test2(); printf("-----ok------\n"); getchar(); return0; }
/* do{ ... }while(false)妙用 */ #include <stdio.h> #include <stdlib.h> #include <string.h> /* goto在函数有多个返回分支,部分或全部返回分支返回前需要做一些额外的工作(如释放内存等)场景很有作用 但是goto是跳转,在c++编程中,如果变量定义在goto语句后面就会报错(变量未定义) do{ ... }while(false)就是一种取代goto的方法 */int handle(int num) { return num; } //do while 使用int test1() { int errCode = 0; do { //业务1 errCode = handle(1); if (errCode) { break; } //业务2 errCode = handle(1); if (errCode) { break; } //做需要执行的操作 } while (0); //资源释放处理return errCode; } int main() { test1(); printf("-----ok------\n"); getchar(); return0; }
原文:https://www.cnblogs.com/zhanggaofeng/p/10759045.html
内容总结
以上是互联网集市为您收集整理的C语言 goto语句全部内容,希望文章能够帮你解决C语言 goto语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。