猿问

C语言goto语句问题:goto loop与goto repeat有什么区别吗?

C语言goto语句问题:goto loop与goto repeat有什么区别吗?


阿晨1998
浏览 1521回答 3
3回答

哆啦的时光机

没有区别goto 是跳转语句,后面是标识符,自己命名的.没什么特别含义,他这样写是为了区分,和让程序更加可读(这里可读是指标识符相对于无意义的字符,并不是说goto语句会是程序可读性更好,实际刚好相反).goto loop从语义上理解应该是跳转到某一个循环里面让人知道跳到那个地方去(即前面所谓的可读好)goto格式是asd:xxxxxxxxxxxxxxxxxxxxxgoto asd;就是跳到asd重新在运行一次的意思,如果上面xxx中没有结束或者跳出的语句上面就会变成死循环.和while(1)一个意思一般程序中很少或根本不使用goto语句的,用了会很大的破坏可读性,和带来维护上的困难,所以不推荐使用

HUH函数

goto loop;goto repeat;loop 和 repeat 都是标号(就像是路牌),goto这个标号,也就是转向去那个目的地。loop 和 repeat 是不同的路牌,那么 目的地 不同,两者不同。英文意思:loop -- 循环。repeat -- 重复。下面两段程序 只是 标号 名不同,做的事一样。--------------------------s=0; n=0;loop:n=n+1;s=s+n;if (n<10) goto loop;printf("n=%d s=%d\n",n,s);----------------------------s=0; n=0;repeat:n=n+1;s=s+n;if (n<10) goto repeat;printf("n=%d s=%d\n",n,s);========================下面例子两个标号,目的地不同。x > 0, 计算 y=1/x; x==0 得 y=0;x<0 重新输入:repeat:scanf("%d",&x);if (x > 0) goto loop; else if (x<0) goto repeat;y = 0; return y;loop:y = 1/x;return y;

ibeautiful

这是一条多么另人难忘的语句,虽然诸多大神都反对用,loop和repeat都是标号,只要符号命名规则就行了,至于什么意思都是看自已的意思#include<stdio.h>void main(){int i,j;i=0;loop:i++;if(i>9)goto end;j=1;printf("\n");repeat:printf("%d*%d=%-4d",j,i,j*i);j++;if(j>i)goto loop;elsegoto repeat;end:printf("\n小九九表输出完成\n");}
随时随地看视频慕课网APP
我要回答