问答详情
源自:4-19 臭名远扬之goto语句

关于LOOP 的位置

#include <stdio.h>
int main()
{
    int sum = 0;
    int i;
    LOOP:printf("结束for循环了....");
    for(i=1; i<=10; i++)
    {
        printf("%d\n", i);
        if(i==3)//是不是少了一个判断呢?
        goto LOOP;                    //在这里使用goto语句
    }
      //请选择合适位置添加标识符
    return 0;   
}

请问为什么这是死循环,LOOP放在后面和放在前面的区别是什么?


提问者:慕工程9179382 2019-09-09 13:13

个回答

  • qq_慕瓜7257093
    2020-06-22 15:18:55

    LOOP标识在本题中是为了出现等于3时结束程序,所以LOOP标识跳转到下面结束程序,如果在定义前面就达不到等于3结束程序了

  • 时意
    2019-09-18 22:30:56

    按照你写的执行完loop之后会继续执行for循环,就会一直反跳。

    例子中的loop在goto loop前面,因为if是判断语句,条件不符合就不会执行,这样的话就不会死循环。

    放前放后具体应该还是要看实际应用。


  • 慕UI3423937
    2019-09-18 13:26:46

    因为要顺序执行,防止反复横跳。

  • 清欢iic
    2019-09-09 19:06:45

    程序应该是讲运行顺序的,假如你loop在前面 不就又进行for循环了吗? 这不就是死循环??

  • 小小疾飞
    2019-09-09 15:28:23

    loop当然要放goto loop后面,不然会一直反复跳回去,你想想是不是?