以下程序将打印什么?
#include <iostream>
using namespace std;
static int x = 10;
void main1()
{
cout << x << endl;
x = x + 1;
}
int main()
{
main1();
main1();
cout << x << endl;
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,上面的程序我们使用了静态变量,因此x保留了最后一个初始化变量.所以输出将是
10
11
12
Run Code Online (Sandbox Code Playgroud)
但如果我们删除静态,我们应该得到
10
10
10
Run Code Online (Sandbox Code Playgroud)
但即使在去除静电后,我也得到了以下输出.
10
11
12
Run Code Online (Sandbox Code Playgroud)
请帮我理解.
c++ ×1