首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你能在C区有一个空荡荡的街区吗?

你能在C区有一个空荡荡的街区吗?
EN

Stack Overflow用户
提问于 2015-01-25 14:07:58
回答 2查看 120关注 0票数 2

我知道,在C#和JavaScript中,以下内容是完全有效的:

代码语言:javascript
运行
复制
{
  var foo;
}

一个裸块在C中也有效吗?

也就是说,这是有效的C?

代码语言:javascript
运行
复制
{
  int foo;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-25 14:08:26

这在C中也有效吗?

是的,它是,它被称为复合语句。

来自C11标准:

代码语言:javascript
运行
复制
6.8.2 Compound statement
Syntax
1 compound-statement:
    { block-item-listopt }
block-item-list:
    block-item
    block-item-list block-item
block-item:
    declaration
    statement

复合语句本身就是C中的语句。

例如,这个块是一个有效的块:

代码语言:javascript
运行
复制
{
    {
        {
            printf("Hello world");
        }
    }
}

即使是这个也是有效的:

代码语言:javascript
运行
复制
{{{}}}

{}是一个空的复合语句。

票数 7
EN

Stack Overflow用户

发布于 2015-01-25 14:09:35

是的,完全没问题!

例如:

代码语言:javascript
运行
复制
#include <stdio.h>

int main() {

{   
    int i = 5;  //If you declare i outside you can use both print statements
    printf("%d", i);
}


//printf("%d", i);  Note that i is out of scope here

    return 0;

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

https://stackoverflow.com/questions/28137287

复制
相关文章

相似问题

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