以下程序打印什麼?以下程序需要清晰,
#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
請幫我理解。
你爲什麼認爲刪除'static'會有所作爲? –
'x'變量是全局變量。 – soon