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语句
i=0start:
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语句极大的降低程序的可读性,最好不要使用这条语句