使用函数的参数初始化静态变量

3 c static initialization function

我怎样才能做这样的事情?

void function(int n)
{
    static int number = n;
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

rus*_*tyx 6

n如果你想在第一次调用函数时初始化静态变量,你可以这样做:

void function(int n)
{
    static int initialized = 0;
    static int number;

    if (!initialized) {
        number = n;
        initialized = 1;
    }
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

您不能直接初始化number为,因为是在编译时初始化的,而仅在运行时才知道。nnumbern