为什么以下代码中的if语句之后numberOfNodes的值会发生变化?
int getMiddle(Node *head){
Node *temp=head;
int numberOfNodes;
numberOfNodes=1;
cout<< numberOfNodes;
cout<< endl;
if (temp==NULL) {
return(-1);
}
cout<< numberOfNodes;
}
如果我们在原始主函数中将节点数设为1,则输出如下:-
1(这与上面代码中的第一个cout命令一样)
44897867(不是)
我想问一下,if语句后numberOfNodes的值为什么会改变?