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

为什么goto必须在LOOP的if分支结构里才行,我一放到外面就执行不了?

#include <stdio.h>

int main()

{

    int sum = 0;

    int i;

    for(i=1; i<=10; i++)

    {

        printf("%d\n", i);

        //是不是少了一个判断呢?      

        KB: if(i==3)     

        {

            break;

            goto KB;              //在这里使用goto语句1  这里可以

        } 

         goto KB;              //在这里使用goto语句2  这里不可以为什么?

    }

    printf("结束for循环了....");  //请选择合适位置添加标识符

    return 0;    

}


提问者:IT小慕 2018-10-18 18:22

个回答

  • _Z6_
    2018-10-18 18:51:25
    已采纳

    你的第二条goto放在了for循环里了,当i=1时先printf,然后判断i==3不等于3进行下一条,然后就是goto KB,再判断,死循环了

  • qq_梁小胖咂_cGIMSZ
    2018-10-18 19:44:08

    如果在循环外的话,会死循环