【发布时间】:2020-08-26 23:52:45
【问题描述】:
这段代码返回错误。
#include<stdio.h>
#include<stdlib.h>
int* a;
a = NULL;
int main(){
printf("works");
return 0;
}
而这个没有……
#include<stdio.h>
#include<stdlib.h>
int* a= NULL;
int main(){
printf("works");
return 0;
}
有什么区别,为什么会显示重新声明错误? 如果我在 main 函数中做同样的事情,它就可以工作。但不在外面。
【问题讨论】:
-
函数外不能有可执行语句,只能有声明和初始化。
-
您不能在函数之外使用通用语句。您显示的第一个是一个定义,然后是一个赋值,第二个是一个带有初始化的定义。