Почему значение 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утверждение?