Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 未声明的标识符“number”,我该如何处理?_C_Syntax Error_Pelles C - Fatal编程技术网

C 未声明的标识符“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中的大括

我试图显示我在程序中指定的a号,但收到以下错误:

main.c23:错误2048:未声明的标识符“number”

#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;
}