代码会顺序通过多个标签定义执行吗?

时间:2012-11-15 20:09:53

标签: c

这可能是一个愚蠢的问题,我很震惊我在谷歌搜索时遇到了麻烦,但是这里有:

在这种情况下会发生什么:

int foo(void){
     char x = 1;

     if (x == 1}
         goto apple;
     }
     else{
         goto banana;
     }

apple:
    printf("apple");

banana:
    printf("banana");

    return 0;
}

如果输出为x==1

 apple
 banana

或者它只是apple并停在标签的末尾?同样,代码将继续逐行执行并输入另一个标签?

1 个答案:

答案 0 :(得分:5)

  

如果x == 1,则输出为

 apple
 banana

是的,它会的。标签(gotoswitch标签)都会落空。