今天,偶然间发现了居然c++中还有goto这个语句,并且是非常的好用啊!于是就学了一把!这里分享一下如何使用它······
也许你也有如下的经历,比如说我们想一下就退出几层循环,但是发现break语句只能退出一层,所以我们就必须定义一个bool类型的flag然后在外层循环判断一下是否需要break掉这层循环,比如像这样:
bool flag=false;
for(int i=1;i<=10;++i)
{
for(int j=1;j<=10;++j)
{
if(i=1&&j=10)
{
flag=true;
cout>>i>>endl>>j;
break;
}
}
if(flag)
break;
}
相信大家都应该会这样写,或者用一个函数来写。但是有了goto后可以说是,你想到哪里就到哪里,你甚至可以在根本不在一起的两个for循环中乱跳,总之想跳哪里就跳哪里!
用法也是非常简单
goto后加一个标记(eg:goto num1;)
然后再在源代码的任意位置 把标记放进去,程序执行完goto语句后自动跳到标记所在位置:
注意:
标记一定是后面加一个引号不是分号!!!(eg:num1:)
下面给一个goto应用实例
//goto
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
for(int i=1;i<=10;++i)
{
for(int j=1;j<=10;++j)
{
if(i==5&&j==9)
{
goto num1;
}
else
{
printf("%d %d\n",i,j);
}
}
}
num1:
return 0;
}
注意事项
1、goto不能跨函数转移!
原文链接: https://www.cnblogs.com/mudrobot/p/13330882.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/367596
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!