C语言 goto 语句正确用法


 

在C语言中,有一个神奇的语句,那就是goto语句,它可以实现代码的任意跳转,看上去很好用,但是实际上用的不多,因为使用它可能会导致代码的错乱,所以实际应用中你会发现使用goto语句的时候不多,最能在B站上系统学习C语言的时候,看到老师对goto语句的适用方法描述例子写的不错,所以分享给大家。

菜鸟教程中对goto语句的描述:

C 语言中的 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

goto语句例子:

1 #include <stdio.h>
2 int main() { 3     printf("hello bit\n"); 4     goto again; 5     printf("你好\n"); 6 again: 7     printf("hehe\n"); 8     return 0; 9 }

运行结果:跳过了printf("你好\n"); 这个语句

 

goto语句尽量不要使用,但最常见是在终止某些深度嵌套的结构处理过程中使用,例如想要实现一次跳出两层或多层循环,这种情况使用break是达不到目的,因为break只能退出到上一层的循环。但是,你又需要跳出多层循环的时候,这时候就可以使用goto语句了。

goto语句真正适用的场景如下: 

    for(...) for(...) { for(...) { if(disaster) goto error; } } ... error: if(disaster) // 处理错误情况

 

此外,推荐大家一个学习C/C++语言很好使用的网站资料,就像使用matlab的时候你可以使用help手册一样的:

http://www.cplusplus.com/

当你需要查阅某个函数用法以及函数所在的头文件的时候,就可以访问这个网站来查阅,它是学习C语言的好帮手~

还有一个C和C++的参考手册:

https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5

一个好的就是它有中文版本,可以作为参考手册供大家查阅使用~

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM