#include<stdio.h>
#include <time.h>
main()
{
int i,n[4];
srand( time(NULL) );
n[0]=rand()%10;
n[1]=rand()%10;
for( i = 0; i < 20;i++ )
{
n[2]=n[1]+n[0];
loop:
printf("%d+%d=",n[0],n[1]);
scanf("%d",n[3]);
if(n[3]==n[2])
{
printf( "right!" );
}
else
{
printf( " error!\n重新输入" );
goto loop;
}
}
}
goto语句是C语言中的跳转命令。使用方法:
goto label; label为本函数中声明的一个标号,执行goto后,跳转到该标号指定行处继续执行。
一般来说,很多书都不推荐使用goto,不过很多书都给了一些很牵强的理由。在某些情况下需要使用goto,比如跳出多重循环。
但是goto不能滥用,主要缺点有这几个:①影响程序可读性 ②影响程序执行效率。分支语句会对指令预取造成很大的影响,而且跳转的位置有时分支预测单元可能预测不到。常用的跳转语句如if、for等,对这点影响都很小,但是goto不同,一个较长的跳转可能给指令预取单元带来很大的麻烦。
所以说,不要滥用goto,除非你确定它不会给你造成麻烦。
首先,非常感谢,然后不用goto用什么重复执行呢,goto有什么问题
追答不用goto的话可以用其他语句代替,比如for,while,具体情况的话看实际是什么,goto的话不是这个语句有问题,而是多用这个语句的话会限制你的思想,越到后面越难写出好程序
本回答被提问者和网友采纳