C 未声明的标识符“number”,我该如何处理?
我试图显示我在程序中指定的a号,但收到以下错误: main.c23:错误2048:未声明的标识符“number”C 未声明的标识符“number”,我该如何处理?,c,syntax-error,pelles-c,C,Syntax Error,Pelles C,我试图显示我在程序中指定的a号,但收到以下错误: main.c23:错误2048:未声明的标识符“number” #include <stdio.h> int main() { { int number = 32 ; } printf("integer is %d \n", number ); return 0; } 我知道解决这个问题的方法对一些用户来说必须非常简单,但是我遵循一本书中的说明,据我所知,我是不折不扣地遵循的 非常感谢您的帮助。C中的大括
#include <stdio.h>
int main()
{
{
int number = 32 ;
}
printf("integer is %d \n", number );
return 0;
}
我知道解决这个问题的方法对一些用户来说必须非常简单,但是我遵循一本书中的说明,据我所知,我是不折不扣地遵循的
非常感谢您的帮助。C中的大括号{}用于引入一个块,该块是它自己的作用域,该块中声明的变量是该块的局部变量,并在其中嵌套块
当您在自己的块中声明number时,变量仅在该块中声明,而不是在外部块中声明。因此,解决方案非常简单:移除大括号并将变量放入外部块中:
int main()
{
int number = 32 ;
printf("integer is %d \n", number );
return 0;
}
你的问题是:
括号内发生的事情,保留在括号内
Weeell,这听起来比范围界定的第一条规则更好,那就是你不要谈论范围界定- 数字的声明用大括号括在它自己的块中,因此只在这个块中有作用域,因此尝试在该块之外访问它会产生错误。解决方法是将声明移到该块之外,并删除其周围多余的花括号,请输入代码。
您声明并初始化了一个只存在于内括号中的整数变量。
所以,当到达printf指令时,该数字被销毁并且不存在
以下代码按照您的预期工作:
int main()
{
int number = 32 ;
printf("integer is %d \n", number );
return 0;
}
您对范围有问题。拆下内部块支架,然后重试。
int main()
{
int number = 32 ;
printf("integer is %d \n", number );
return 0;
}