0

だから私はユーザー入力から自分のファイルを一緒にリストをリンクしようとしていますが、印刷しようとすると最初の行しか印刷されません.問題は私のコードフラグメントの下のどこかにあると思います.currpはcurrp-nextを取得していないと思います. .

while ((fscanf( fpin, "'%[^']' %f %f %d" ,currp->name, &currp->cost,
                                        &currp->weight, &currp->dam) ==4 ))
        {
                prev = currp;
                currp->next = malloc(sizeof(item_t));
                assert(currp->next);
                currp = currp->next;
        }

        prev->next = NULL;
        free(currp);
        fclose(fpin);

        return (itb);
4

1 に答える 1

1

currp は next を取得すると思いますが、割り当てないだけです。それを確認してください。currp->next の printf を整数として追加します。アドレスが変更された場合はそのアドレスを表します。問題はアサーションにあります。

于 2013-11-07T02:30:07.413 に答える