Что будет делать программа ниже?Нужна ясность ниже программы,
#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