c语言的label后面不能直接跟变量申明

    int x = 5;
    goto JUMP;
    printf("x is : %d\n",x);
JUMP:
    int a = 0;  <=== 错误,lable后面不能申明变量,只能是表达式语句(statement),哪怕是空语句..
    printf("%d",a);

 

    int x = 5;
    goto JUMP;
    printf("x is : %d\n",x);
JUMP: ;     /// 空语句,正确
    int a = 0;     // 前面有空语句,正确
    printf("%d",a);

 

label只在函数内有效

posted @ 2015-09-02 11:37  微信公众号--共鸣圈  阅读(404)  评论(1编辑  收藏  举报