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

Python016

C语言中 goto语句有什么作用?,第1张

/*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=0i<3i++){

       for(j=0j<3j++){

           if(a[i][j] == 6)

           {

               goto Find

           }

       }

    }

    Find:

    printf("%d %d\n",i,j)

    getchar()

    return 0

}

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

^_^

^_^

以下是我3年前编写的程序,当时也是为了考计算机二级时娱乐一下写的,你可以参考一下;你的题目是要6阶矩阵,不过我的程序是9x9,你只需要简单地修改一下就行了,这个你就自己学习一下了,毕竟全给你弄好也不利于你的学习。

特别注意:请输入go回车显示旋进输出。

#include<stdio.h>

#include<string.h>

void main(void)

{

char ab[]="go",ac[56]

int a[9][9]

int h=0,i,j

int left=9,right=0,up=0,down=9

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

{

for (j=0j<9j++)

{

a[i][j]=h

h++

}

}

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

{

for (j=0j<9j++)

{

printf("%2d ",a[i][j])

}

putchar('\n')

}

printf("9x9矩阵顺时针内螺旋方式输出已就绪,请指示:")

loop:

gets(ac)

if (0==strcmp(ac,ab))

{

for(i=0,j=0(left!=up-1)||(right!=down+1))

{

for(j<down)

{

printf("%2d ",a[i][j])

j++

}

down--

putchar('\n')

for(i=right+1,--ji<left)

{

printf("%2d ",a[i][j])

i++

}

left--

putchar('\n')

for(j=down-1,--ij>up-1)

{

printf("%2d ",a[i][j])

j--

}

up++

putchar('\n')

for(i=left-1,++ji>right)

{

printf("%2d ",a[i][j])

i--

}

++i

right++

putchar('\n')

j++

}

}

else

{

printf("对不起,您输入的“%s”为无效字段!\n",ac)

printf("请再次输入:")

goto loop

}

}