C语言中goto的用法要尽量详细

Python011

C语言中goto的用法要尽量详细,第1张

goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。

如: label: i++

loop: while(x<7)

goto loop

C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。

goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

扩展资料:

go to语句使用原则:

1、使用goto语句只能goto到同一函数内,而不能从一个函数里goto到另外一个函数里。

2、使用goto语句在同一函数内进行goto时,goto的起点应是函数内一段小功能的结束处,goto的目的label处应是函数内另外一段小功能的开始处。

3、不能从一段复杂的执行状态中的位置goto到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。

4、应该避免向两个方向跳转。这样最容易导致"面条代码"。

参考资料:百度百科-goto语句

go

to

是转向语句,按其英文含义就可理解

用法

标号:

语句;

go

to

标号;

或者

go

to

标号;

标号:

语句;

标号和goto必须包括处于同一个函数内

标号的写法跟变量名一样不能和关键词相同,后面必须带冒号

当程序执行到go

to这个语句时,程序就转跳到标号后面的语句去了

int

x=1

语句1:

x=x+1

if(x<100)

goto

语句2

cout<<"x=100"<<endl

当x小于100,执行if

后面的goto语句,于是转跳到语句2处执行语句1后面的语句x=x+1,接着if语句,

如此反复。。。。。。,直到x=100

if语句括号表达式为假不执行后面的goto语句,

于是跳过执行cout语句输出x=100这几个字符

i=0

start:

c=a+b

a=b

printf(“%d”,i)

for(i=0i<100i++)

{

if(i==50)

goto start

}

这是随便打的一个程序没有任何意义,就是当i=50的时候会跳到goto后面所指向的位置(在此处是c=a+b;前面),goto在C中是一个及有问题的语句,所有用goto的语句都可以用别的语句实现,使用goto语句极大的降低程序的可读性,最好不要使用这条语句