Почему значение numberOfNodes меняется после оператора if? - PullRequest
0 голосов
/ 11 декабря 2018

Почему значение numberOfNodes изменяется после оператора if в следующем коде?

int getMiddle(Node *head){ 
    Node *temp=head;
    int numberOfNodes;
    numberOfNodes=1;
    cout<< numberOfNodes;
    cout<< endl;
    if (temp==NULL) {
        return(-1);
    }
    cout<< numberOfNodes;
}

, если мы принимаем число узлов равным 1 в исходной основной функции, вывод будет следующим: -

1 (как и ожидалось для 1-й команды cout в приведенном выше коде)

44897867 (это не так)

Я хочу спросить, почему значение numberOfNodes меняется после ifутверждение?

...