静态变量的返回值

return value for a static variable

本文关键字:返回值 变量 静态      更新时间:2023-10-16

我试图使用一个静态变量作为计数器的次数函数已被调用。本质上,我让函数A多次调用函数B,我想让函数B把那个值返回给函数A,这样它就可以显示了。下面是我的测试代码示例(这里main是函数A, showStat是函数B)。期望的输出是012344。提前谢谢。

int showStat()
{
    static int statNum;
    cout<<statNum; //function check
    statNum++;
    return statNum;
}

int main()
{
    int statNum;
    for( int i = 0; i < 5 ; i++)
    {
    showStat(); 
    }
    cout<<statNum;
    return 0;
}

在main中,更改

showStat();

statNum = showStat();

你有两个变量叫做statNum。显然,计数发生在showStat()函数内部的静态变量中。但是在main()中,没有读取showStat()的返回值,您只是打印未初始化的局部变量,编译器碰巧给它赋了一个初始值0。