[求助]這樣用GOTO語句為什么會出錯
#include"stdio.h"
#include"math.h"
int compute (int);
int main()
{
int n,i,m;
1:for (m=3;m<=100;m++)
{
printf("%d=",m);
if(compute(m)) printf("%d\n",m);
else
for (n=m,i=2;i<=100;i++)
for (;compute(i)&&!(n%i);n/=i)
if (compute(n/i))
{
printf("%d*%d\n",i,n/i);
goto 1;
}
else printf("%d*",i);
}
return 0;
}
int compute (int a)
{
int i,n,r=1;
for (i=2,n=sqrt(a);r&&i<=n;i++)
r=a%i;
return r;
}
這一段是把所有1-100之間的整數用質因子的乘積形式錶示出來的程序
如果不加GOTO的話雖然程序不能起到預定的作用,但是沒有出錯,一加上GOTO語句就提示錯誤,請問一下這是為什么呢?