gpt4 book ai didi

c - 未初始化的局部变量是静态的吗?

转载 作者:行者123 更新时间:2023-11-30 19:59:44 25 4
gpt4 key购买 nike

如果变量被初始化(i = 0),每次调用函数 func 时它仍然是 1,但是

当 i 未初始化时:

#include <stdio.h>

int funct(void);
int main(void)
{
funct();
funct();
funct();

return 0;
}

int funct(void)
{
int i;
static int j = 0;

i++;
j++;

printf(" i = %d j = %d\n", i, j);
}

输出为

 i = 1      j = 1
i = 2 j = 2
i = 3 j = 3

我不明白为什么变量 i 表现得像静态变量!

最佳答案

该值未指定,所以一切正常。但是,每次调用 funct 时,可能会重用相同的内存,这样,就会重用相同的内存,并且 i 只是获取上次运行时留下的旧值.

关于c - 未初始化的局部变量是静态的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54795902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com