C选项是啥意思啊?
就如5.11节第16行,把extern 去掉之后就只剩 int x;
在之后的 printf 语句中仍能输出一个 0 啊?
和编译器有关系。有些编译器会赋初值,有些就不会。但是作为C语言的基本知识来讲,我们一般认为如果程序员编程的时候不给自动变量赋初值,这个变量就有可能是一个不确定的值,要有这个概念。
因为去掉extern后int x只是仅仅定义x是整形。而加上extern后可以调用该函数之后定义的变量。