为什么第二次b和c的初始化的变法不同,C语言习题

img


没有搞懂为什么第二次b的形参仍为2,而c的却为1,同样是自增自减,求大家帮忙解答,谢谢

static int c; 是一个静态变量,这程序运行期间一直存在,它的数也会被一直保存。

然而 临时变量 int b;每次进入函数会自动分配并初始化,函数退出的时候就会销毁。

static c 保留上次运行后的值

我猜你是想知道为什么函数里明明写了c=2,可是第二次执行的时候c不是2了
因为静态变量只会初始化一次,第二次执行时如果c已经有值,自动跳过初始化赋值。