在C中,如果没有显式初始化具有静态存储持续时间的对象,则:
- 如果它有指针类型,则将其初始化为NULL指针;
- 如果它有算术类型,则初始化为(正或无符号)零;
- 如果是聚合,则根据这些规则初始化(递归)每个成员;
- 如果它是一个联合,则根据这些规则初始化(递归)第一个命名成员。

例如,以下程序打印:
g = 0的
值sg的
值= 0 s = 0的值

#include<stdio.h>
intg;  //g = 0, global objects have static storage duration
staticintgs; //gs = 0, global static objects have static storage duration
intmain()
{
  staticints; //s = 0, static objects have static storage duration
  printf("Value of g = %d", g);
  printf("\nValue of gs = %d", gs);
  printf("\nValue of s = %d", s);
  getchar();
  return0;
}
C中静态变量的默认值是多少?-IDC帮帮忙