为什么下面的代码会产生错误?我不明白为什么花括号会有所作为。
#include<stdio.h>
int main(void)
{
{
int a=3;
}
{
printf("%d", a);
}
return 0;
}
为什么下面的代码会产生错误?我不明白为什么花括号会有所作为。
#include<stdio.h>
int main(void)
{
{
int a=3;
}
{
printf("%d", a);
}
return 0;
}
局部变量的范围仅限于 {} 之间的块。
换句话说:包含在块之外的东西int a=3;
a
是不可见的。
#include<stdio.h>
int main()
{
{
int a=3;
// a is visible here
printf("1: %d", a);
}
// here a is not visible
printf("2: %d", a);
{
// here a is not visible either
printf("3: %d", a);
}
return 0;
}
提示:google c 范围变量