struct node
{
int data;
node* left;
node* right;
};
int secondlargest(struct node* a)
{
while(a->right != NULL){
secondlargest(a->right);
}
return a->data;
}
私は間違いをどこで実行したのか、なぜwhileループから出てこないのかをトレースすることはできません。無限ループ:プロセスが正しく終了しない
通常、メソッドを呼び出す前にa == nullをテストすると、メソッドがよりクリーンになり、今後失敗することがわかっているコールに対してこのテストが行われなくなります。 –
うん、私の間違いがあった。ありがとう! – Ava