C语言基础:goto语句

作者: 逍遥_9353 | 来源:发表于2017-12-10 00:33 被阅读31次

goto语句可以使程序在没有任何条件的情况下跳转到指定的位置,所以goto语句又被称为是无条件跳转语句。它的语法如下

goto label;

//其它代码

label:

其中,label为我们自己定义的一个标签,定义的规则与变量的命名相同,它的位置是不固定的,它可以写在goto语句的后面,也可以写在它的前面,然而goto语句只能在一个函数内部跳转,它并不允许跳转出一个函数外部。

我们可以通过goto语句来实现一个类while语句的循环功能:

int day = 1;

loop:

if (day

{

printf("%d\n", day);

day++;

goto loop;

}

上面程序就是利用了goto和if语句来实现了循环功能,它与while实现的循环功能一样,其中loop为我们定义的一个label(标签)。

接下来我们再来看一个关于goto语句合理使用的例子,在看这个例子之前我们先来看看一个在双循环中根据条件跳出的普通实现

int found = 0;

for (int i = 0; i < n && !found; i++)

{

for (j = 0; j < m && !found; j++)

{

if (a[i] == b[j])

{

found = 1;

}

}

}

if (found)

{

//do something

}

由于break;语句只能跳出当前循环,不能跳出多层嵌套循环之外,所以我们只能用found变量来做为循环嵌套中的结束条件。

现在我们可以使用goto来完成这个功能:

for (int i = 0; i < n; i++)

{

for (j = 0; j < m; j++)

{

if (a[i] == b[j])

{

goto found;

}

}

}

found:

// do something

可以看到使用了goto语句的程序明显比使用双循环通过条件跳出的简洁了。goto语句可以在程序中任意的跳转到指定的标签位置,所以如果用的不好可能会破坏程序的逻辑性和安全性。

相关文章

  • C语言基础:goto语句

    goto语句可以使程序在没有任何条件的情况下跳转到指定的位置,所以goto语句又被称为是无条件跳转语句。它的语法如...

  • C语言基础:goto语句用法演示的代码

    下面资料是关于C语言基础:goto语句用法演示的内容,希望能对各位有所帮助。 #include int main(...

  • C语言goto跳转语句

    #include int main(void){ printf("1\n"); goto ABC;...

  • c goto语句

    还是在大学学过点c语言,到现在基本忘光了。最近在看python源码时,goto看得有点头疼,总结一下原因还是对go...

  • go语言有goto?

    go语言中goto的使用 一、goto 基本介绍 Go 语言的 goto 语句可以无条件地转移到程序中指定的行。 ...

  • 第六章-循环控制

    一、语句介绍(goto、while 、for、break、continue)。 1、goto语句。 goto 语句...

  • OC中goto语句的使用

    前言 Objective-C提供了goto语句来执行跳转,这种goto语句功能非常强大,它被称为无条件跳转,但由于...

  • C语言8 循环语句

    C语言8 循环语句 如何实现让某些语句按照一定的条件重复执行呢? 比如:打印从0 - N的值?例子: goto语...

  • JavaScript控制语句见习

    1.标签跳转 类似于C语言里面有goto语句,JavaScript里面有个语句跳转的玩意儿,叫做标签跳转。不过它没...

  • C语言中使用goto语句

    goto语句又叫无条件转移语句,先看一个例子: 可以看出在执行goto gotoflag语句之后直接跳转到goto...

网友评论

    本文标题:C语言基础:goto语句

    本文链接:https://www.haomeiwen.com/subject/igkmixtx.html