我有这个代码:
#include <stdio.h>
extern int x;
void a() {
int x = 100;
printf("%d ",x );
x += 5;
}
void b() {
static int x = -10;
printf("%d ", x);
x += 5;
}
void c(){
printf("%d ", x);
x += 2;
}
int main() {
int x = 10;
a();
b();
c();
a();
b();
c();
printf("%d ", x);
getchar();
return 0;
}
int x = 0;
我确信 extern 在这里声明的事实,我会有一个编译错误 - 但一切都过去了。另外,当 extern 在 C 文件本身内部时,它的含义是什么?它不应该在另一个文件中吗?有没有办法声明这个变量以便不编译?