【发布时间】:2018-10-29 15:25:50
【问题描述】:
为什么下面的代码会产生错误?我不明白为什么花括号会有所作为。
#include<stdio.h>
int main(void)
{
{
int a=3;
}
{
printf("%d", a);
}
return 0;
}
【问题讨论】:
-
了解 C 中变量的作用域。
-
据我所知,当涉及多个函数时,变量的范围是一个概念,先生。但在这里我只有一个功能,即 main()
-
Scopes 与 blocks 相关,花括号引入了一个新的 block。
-
这是否意味着声明 a , 应该在块外而在块内应该只有 a=3 ?
-
@DebmalyaPanday 可能是的,这取决于你想做什么。
标签: c variable-declaration curly-braces printf-debugging