关于c语言中的goto语句

此程序中有两个goto,有两个loop1.请问这个程序中两个goto语句啥意思,怎样运行?intkgongshi();voidalfaMg();main(){intwor... 此程序中有两个goto,有两个loop1.请问这个程序中两个goto语句啥意思,怎样运行?
int kgongshi();
void alfaMg();
main()
{
int work1;
printf("\n 。。。");

loop1:scanf("%d",&work1);
switch(work1)
{
case 1 : alfaMg();break;
default : printf("\n cuo wu de shu zi ,qing chong xin shu ru.\n ");goto loop1;
}
printf("\n jie shu ,huan ying xia ci shi yong!");
getch();
}

kgongshi(jb,r,f,ncc,nlc,ntc)
float jb[13],r[19],f[19],ncc[19],nlc[19],ntc[19];
{
int i,j,hmea;
float kk,alfa[19],bata[19],gama[19],k[19],c[19];
hmea=0;
for(i=0;i<=18;i++)
{
c[i]=0;k[i]=0;
}
if(jb[2]==0 && jb[3]==0 && jb[4]==0)
{
kk=1.0;
k[1]=sqrt((jb[5]+jb[6]+jb[7])/jb[1])*(jb[5]+jb[6]+jb[7])/(sqrt(jb[5])+sqrt(3*jb[6])+sqrt(5*jb[7]));
。。。
k[4]=sqrt((jb[5]+jb[6]+jb[7])/jb[1])*(jb[5]+jb[6]+jb[7])/(sqrt(jb[5])-sqrt(3*jb[6])-sqrt(5*jb[7]));
goto loop1;
}
kk=(jb[8]*jb[5]+jb[6]+jb[7])/(jb[4]*jb[1]+jb[2]+jb[3])*sqrt((jb[5]+jb[6]+jb[7])/(jb[1]+jb[2]+jb[3]));
k[1]=(jb[1]+sqrt(3*jb[2])+sqrt(5*jb[3]))/(jb[5]+sqrt(3*jb[6])+sqrt(5*jb[7]));
...
k[16]=(jb[1]-sqrt(3*jb[2])-sqrt(5*jb[3]))/(jb[5]-sqrt(3*jb[6])-sqrt(5*jb[7]));
loop1:for(i=1;i<=16;i++)
c[i]=1/((kk*k[i])*(kk*k[i])+1);
c[17]=0;
c[18]=1;
for(i=1;i<=17;i++)
for(j=i+1;j<=18;j++)
if(c[i]==c[j]) c[j]=2;
kk=0;
for(i=1;i<=17;i++)
for(j=i+1;j<=18;j++)
if(c[i]>c[j])
{
kk=c[i];c[i]=c[j];c[j]=kk;
}
展开
 我来答
b_spike
2015-11-09 · TA获得超过3688个赞
知道大有可为答主
回答量:3724
采纳率:78%
帮助的人:1204万
展开全部
两个loop1,一个是main函数中的,另一个是kgongshi函数中的

至于goto loop1到底跳到哪一个,那就看这条goto是放在哪个函数里面了,goto是不能跨函数跳转的
追问
这样我检验goto跳转,就把个函数中的loop1改正loop2就可以了是吧?
追答
那你必须保证是在同一函数里改,否则goto如果在它所在的函数里找不到对应标签行的话,后果自负
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式