goto 在 linux 里面简单使用

本文主要是简单介绍一下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 目的地。

猜你喜欢

转载自blog.csdn.net/a3121772305/article/details/86602917