1

二分木にロードされている整数を表示するコードを作成しようとしています。私はこれまでこれを書いてきました:

node*t;    
t = NULL;

for( j = 0; j < 33; j++)
{
    printf ("Table %d \n", j+1);
    printf ("LineNum  Left  Data   Right\n");
    printf ("%5d %5d %5d %5d", t->num, t->left->data, t->data, t-> right -> data);      
    t = insert(j, a[j], t );


}

ただし、プログラムは引き続きクラッシュします。どうすれば解決できますか?私はこれについて間違った方法をとっていますか?

編集:以前のコメントで指摘された問題を修正しました

4

2 に答える 2

1

あなたが印刷している左の方法を見てt->left->data、私はあなたがしたくt->right->dataないと思いますt-> left ->right

ポインターを印刷しようとしている場合はt-> left ->rightint(のunsigned int方が良いでしょう)にキャストします。

于 2013-05-10T09:32:34.313 に答える