C语言中 goto语句有什么作用?

如题所述

/*goto 可以调到指定位置处执行新的程序,经常用来从多重循环内跳出来。
如下程序所示:
*/
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>

int main()
{
    int i,j;
    int a[3][3]={1,2,3,4,5,6,7,8,9};
    for(i=0;i<3;i++){
       for(j=0;j<3;j++){
           if(a[i][j] == 6)
           {
               goto Find;
           }
       }
    }
    Find:
    printf("%d %d\n",i,j);
    getchar();
    return 0;
}

欢迎采纳,如有不明白的,可以追问^_^ 

^_^

^_^

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-24
转跳到指定标号代码处, 相当于汇编中的jmp指令
int main()
{
printf("1\n");
goto GO; //直接跳到GO标号处(标号名称由自己指定),直接跳过第二个printf(),所以这个程序会输出1 3 望采纳
printf("2\n");
GO:
printf("3\n");
return 0;
}
第2个回答  2015-12-17
  goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
  如: label: i++;
  loop: while(x<7);
  C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。
  goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
  但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。本回答被网友采纳
相似回答