07/11/10 15:24:02
>>95
はい、そこまでは解っています。どういう処理と言うか、tがNULLでなく、
t->lもNULLでない場合にどういう手順で動いてるかが解らなくて。
tがNULLでなく、t->lもNULLでない場合を考えたとして、
>>96さんの図で言えば、一番左下に位置している○が最小ですよね。
そして、一番左下の○まで来て、さらに再帰呼び出しをすると、
3行目のif(t != (struct node *)NULL)で条件に一致せずに、
9行目のreturn m;に進んで、ここで、どうなるんですか?
2行目でstruct node *m = (struct node *)NULL;としているので、
戻り値は、このアドレスになって、7行目のm = min(t->l);で、mに
代入しても、最小値のアドレスになりませんよね…