#include <stdio.h>
int main()
{
int sum=0;
int i=1;
LOOP:if(i<=10)
{
sum+=i;
i++;
}
goto LOOP;
printf ("sum=%d\n",sum);
return 0;
}
代码的编译是从上至下的,你这样写就是执行完一次if后,继续向下读就会读到goto,你这个goto放在外面的结果就是每次执行到后面都会被要求回去从前面再执行一次,然后又到后面又回到前面,goto这个梗永远也出不来,如果是向前跳转,你得保证在达到目的的时候能跳过goto,如果要放在外面的话你只能把goto放在if的前面,不然会就是死循环
你自己可以判断嘛
这个也是死循环吗?
#include <stdio.h>
int main()
{
int sum=0;
int i=1;
LOOP:if(i<=10)
{
sum+=i;
i++;
goto LOOP;
}
printf ("sum=%d\n",sum);
return 0;
}
不管对不对,但是你这已经是个死循环了.