首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是编译器的错误,还是C语言的特性?

这是编译器的错误,还是C语言的特性?
EN

Stack Overflow用户
提问于 2012-06-20 09:45:05
回答 2查看 159关注 0票数 5

我的环境是Windows SP3 + 'Microsoft (R) 32位C/C++优化编译器版本14.00.50727.762用于80x86‘。这一过程如下:

F:\workshop\vc8proj\console>型t.c型

代码语言:javascript
复制
int main(void) {

    // Do some thing.
    {
        int i;
        {
            i = 3;
            goto abc111;
        }

        abc111:
    }
    return 0;
}

F:\workshop\vc8proj\console> cl /MD t.c微软(R) 32位C/C++优化编译器版本14.00.50727.762用于80x86

版权(C)微软公司。版权所有。

T.CT.C(10):错误C2143:语法错误:缺失';‘}’之前

F:\workshop\vc8proj\console>vim t.c .

F:\workshop\vc8proj\console>type t.c .

代码语言:javascript
复制
int main(void) {
    // Do some thing.
    {
        int i;
        {
            i = 3;
            goto abc111;
        }

        abc111: 5201314;
    }
    return 0;
}

F:\workshop\vc8proj\console> cl /MD t.c微软(R) 32位C/C++优化编译器版本14.00.50727.762用于80x86

版权(C)微软公司。版权所有。

微软(注册商标)增量链接版本8.00.50727.762版权(C)微软公司。版权所有。

/out:t.exe t.obj

F:\workshop\vc8proj\console>

在Linux操作系统下,同样的情况也是如此?

EN

回答 2

Stack Overflow用户

发布于 2012-06-20 09:48:04

这是语言特征。标签只能是标记语句的一部分,语句需要一个终止的;。只是在标签后面加个分号就够了。

代码语言:javascript
复制
int main(void) {

    // Do some thing.
    {
        int i;
        {
            i = 3;
            goto abc111;
        }

        abc111: ;

    }
    return 0;
}

也很管用。

票数 11
EN

Stack Overflow用户

发布于 2012-06-20 10:38:05

这是一种语言特征。这是强制性的,应该有一个声明,我们提到的标签。

如果标签后面没有任何语句,那么只需添加一个';‘来终止该语句,或者您可以只在标签后面写一个返回语句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11116838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档