突然发现一个很好用的东西——goto

今天,偶然间发现了居然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大佬

    突然发现一个很好用的东西——goto

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/367596

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 下午5:52
下一篇 2023年3月2日 下午5:52

相关推荐