auto int a=5;
#include<stdio.h>
int main ()
{
printf("%d",a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我已经读过自动变量的范围在指定的块内.在上面的程序中,由于自动变量'a'在main函数之外声明,因此它应该被赋予全局范围并且可以在main中访问.但是,似乎有一个错误.
顶级的变量不能auto.它们应该声明static,extern(在别处定义)或全局(没有关键字).
这不会编译.
$ echo "auto int c;" > test.c
$ gcc -Wall -c test.c
test.c:1:10: error: file-scope declaration of ‘a’ specifies ‘auto’
Run Code Online (Sandbox Code Playgroud)