我有以下代码片段:
#include<iostream>
int main()
{
extern int a;
printf("a = %d", a)
}
int a = 10;
上面的示例代码打印 10。我猜它应该打印垃圾值。有人可以解释一下吗?
最佳答案
全局变量具有静态持续时间,并且在 main
运行之前初始化静态变量。因此,在调用 printf
时,a
的值已经设置为 10
。
关于c++ - "extern"关键字使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29848654/