目录
零基础 C/C++ 学习路线推荐 : [C/C++ 学习目录]>> [C 语言基础入门]
在 [C
语言]中,goto
一直是一个争议的话题,goto
的使用既有有点也有缺点,不过在不少开源项目中对于 goto
的使用也还是蛮频繁的,这也是学习 C
语言开发的必备技能之一;
goto
语句有两部分:[goto
] [和 标签名]。标签的命名规则与[变量的命名规则]一样。如:
/*
代码块1...
*/
if(true)
goto label;
/*
代码块2...
*/
label:
/*
代码块3...
*/
当执行完代码块 1
,会检查 [if
条件判断]:
如果
if
条件判断为真,执行goto
语句,直接跳到label
标签,即直接执行代码块3
,跳过代码块2
;如果
if
条件判断为假,不执行goto
语句,先执行代码块2
,再执行代码块3
;
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - goto 语句
//@Time:2021/06/01 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/
#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.codersrc.com\n");
label1:
printf("执行label1标签代码\n");
system("pause");
}
/*
输出:
进入main函数...
条件成立,进入goto语句...
执行label1标签代码
请按任意键继续. . .
*/
观察上面代码可以看到,当执行 [goto
语句]之后,直接跳转到 label1
的代码,并没有执行下面这行代码:
printf("C/C++教程 - www.codersrc.com\n");
如果 [if
条件表达式]为假,输出又是什么呢?
输出:
进入main函数...
条件不成立...
C/C++教程 - www.codersrc.com
执行label1标签代码
请按任意键继续. . .