21.C语言 goto语句

最后更新于:2020-06-27 23:26:55

一.goto简介

C语言中,goto一直是一个争议的话题,goto的使用既有有点也有缺点,不过在不少开源项目中对于goto的使用也还是蛮频繁的,这也是学习C语言开发的必备技能之一;

二.goto基本语法

goto语句有两部分:goto和标签名。标签的命名规则与变量的命名规则一样。如:

/*
代码块1...
*/

if(true)
    goto label;

/*
代码块2...
*/

label:
/*
代码块3...
*/  


当执行完代码块1,会检查if条件判断

如果if条件判断为真,执行goto语句,直接跳到label标签,即直接执行代码块3,跳过代码块2

如果if条件判断为假,不执行goto语句,先执行代码块2,再执行代码块3

三.goto实战

/************************************************************************/
/*@文件名      : goto.cpp
/*@日  期      : 2020/6/23 21:52
/*@作  者      : 猿说编程
/*@公众号      : 猿说编程
/*@博客        : www.shuopython.com
/*@描述        : C语言教程 - goto的使用
/************************************************************************/

#include "stdafx.h"


#include<stdlib.h>
#include<stdio.h>
void main()
{
    printf("进入main函数...\n");

    if (3 > 2)
    {
        printf("条件成立,进入goto语句...\n");
        goto label1;
    }
    else
        printf("条件不成立...\n");


    printf("C/C++教程 - www.shuopython.com\n");

label1:
    printf("执行label1标签代码\n");

    system("pause");
}

输出:
进入main函数...
条件成立,进入goto语句...
执行label1标签代码
请按任意键继续. . .

观察上面代码可以看到,当执行goto语句之后,直接跳转到label1的代码,并没有执行下面这行代码:

printf("C/C++教程 - www.shuopython.com\n");

如果if条件表达式为假,输出又是什么呢?

输出:
进入main函数...
条件不成立...
C/C++教程 - www.shuopython.com
执行label1标签代码
请按任意键继续. . .


猜你喜欢

1. 三目运算符

2. 逗号表达式

3. char和wchar_t相互转换

4. wprintf输出中文乱码

5. unicode和多字节区别




转载请注明: 猿说编程 » C/C++教程 » goto语句



技术交流、商务合作请直接联系博主
扫码或搜索:猿说编程

python/C++教程

猿说编程
微信公众号 扫一扫关注