>>650
struct node *a=&Z,*b=&Z;
aもbも両方ともZを指してるので
*a=postorder(t->left);
*b=postorder(t->right);
これは
Z=postorder(t->left);
Z=postorder(t->right);
に等しい
戻り値を上書きしてしまってるので思った結果にならない