本文主要是简单介绍一下goto语句的简单使用,写这篇博客的目的主要是记录一下。

之前学C语言的时候,老师就不提倡使用goto,所以一直知道goto大致是个什么作用,但是一直没有用过,今天在写驱动的时候,需要使用到goto,在网上查了一下,发现大家都是说goto的好处和坏处,没有介绍它的用法,然后就自己写了个程序,测试下。

 

程序代码如下:

void test_goto(void)
{	
	printk("num = 1\n");
	goto num1;
	printk("num = 2\n");
	goto num2;
	printk("num = 3\n");
	goto num3;
	printk("num = 4\n");
	goto num4;
	printk("num = 5\n");
	goto num5;
	printk("num = 6\n");
	goto num6;

	num1:	
	printk("num = 11\n");

	num2:
	printk("num = 22\n");

	num3:
	printk("num = 33\n");

	num4:
	printk("num = 44\n");

	num5:
	printk("num = 55\n");

	num6:
	printk("num = 66\n");
}
 

程序调用  test_goto()函数,打印信息如下:

num = 1

num = 11

num = 22

num = 33

num = 44

num = 55

num = 66

 

如果将程序代码改为如下:

 

 

 

void test_goto(void)
{	
	printk("num = 1\n");
	goto num3;//直接跳到num3
    	printk("num = 2\n");
	goto num2;
	printk("num = 3\n");
	goto num3;
	printk("num = 4\n");
	goto num4;
	printk("num = 5\n");
	goto num5;
	printk("num = 6\n");
	goto num6;

	num1:	
	printk("num = 11\n");

	num2:
	printk("num = 22\n");

	num3:
	printk("num = 33\n");

	num4:
	printk("num = 44\n");

	num5:
	printk("num = 55\n");

	num6:
	printk("num = 66\n");
}

程序调用 test_goto()函数,打印信息如下:

num = 1

num = 33

num = 44

num = 55

num = 66

 

结论:使用 goto语句跳转到目的地后,程序将从目的地一直执行。包括其他的 goto 目的地。

 

 

 

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐