以下のプログラムは何を印刷しますか?
#include <iostream>
using namespace std;
static int x = 10;
void main1()
{
cout << x << endl;
x = x + 1;
}
int main()
{
main1();
main1();
cout << x << endl;
}
私の理解によると、上記のプログラムでは静的変数を使用しているためx
、最後に初期化された変数が保持されます。したがって、出力は次のようになります
10
11
12
しかし、静的を削除すると、取得する必要があります
10
10
10
しかし、静的を削除した後でも、以下の出力が得られます。
10
11
12
理解するのを手伝ってください。