相关疑难解决方法(0)

局部变量在C中初始化为零

我认为C中的局部变量没有初始化.但是当我用gcc编译这段代码时.

void f() {
    static int s;
    int n;

    printf("static s = %d\n", s++);
    printf("local  n = %d\n", n++);

    f();
}

main() {
    f();
}
Run Code Online (Sandbox Code Playgroud)

并运行此代码,部分结果是:

static s = 0
local  n = 0
static s = 1
local  n = 0
static s = 2
local  n = 0
static s = 3
local  n = 0
static s = 4
local  n = 0
static s = 5
local  n = 0
...
static s = 261974
local …
Run Code Online (Sandbox Code Playgroud)

c

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×1