好好爱自己!

[C++基础]goto的用法

原文: http://blog.csdn.net/shimazhuge/article/details/8448773

---------------------------------------------------------

小dome

[cpp] view plain copy
 
  1. #include <windows.h>    
  2. #include <stdio.h>  
  3. int main()  
  4. {  
  5.     int n=7;    
  6. number2:  
  7.     printf("hello world\n");   
  8.     if (n==7)  
  9.     {   
  10.         n=8;  
  11.         printf("n=7 start\n");  
  12.         goto number0;  
  13.         printf("n=7 end\n");  
  14.     }  
  15.     else  
  16.     {  
  17.         printf("n=8 start\n");  
  18.         goto number1;  
  19.         printf("n=8 end\n");  
  20.     }    
  21.   
  22. number0:   
  23.     printf("hi number0\n");  
  24.     goto number2;  
  25. number1:  
  26.     printf("hi number1\n");  
  27. number3:  
  28.     printf("number3\n");   
  29.     system("pause");  
  30.     return 0;  
  31. }   

输出结果

结论分析及优缺点

goto 语句可用于跳出深嵌套循环
goto语句可以往后跳,也可以往前跳,且一直往前执行

goto只能在函数体内跳转,不能跳到函数体外的函数。即goto有局部作用域,需要在同一个栈内。 

goto 语句标号由一个有效地标识符和符号";"组成,其中,标识符的命名规则与变量名称相同,即由字母、数字和下划线组成,且第一个字符必须是字母或下划线。执行goto语句后,程序就会跳转到语句标号处,并执行其后的语句。
通常goto语句与if条件语句连用,但是,goto语句在给程序带来灵活性的同时,也会使得使程序结构层次不清,而且不易读,所以要合理运用该语句。

posted @   立志做一个好的程序员  阅读(5920)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现

不断学习创作,与自己快乐相处

点击右上角即可分享
微信分享提示