逆リンクリストを印刷しようとしています。しかし、私はただ一つの価値しか得ていません。どこが間違っていますか?あなたが最後の要素にループをあなたのhead
(一度だけ更新されたとの最初の要素が追加されたときに)ポイントを終了すると、私はC.cでリンクリストの逆印刷
#include<stdio.h>
#include<stdlib.h>
struct itemlist
{
int value;
struct itemlist *next;
};
typedef struct itemlist item;
int main(void)
{
itemlist *curr,*head,*tail;
head=NULL;
tail=NULL;
for(int i=1;i<10;i++)
{
curr=(itemlist *)malloc(sizeof(itemlist));
curr->value=i;
curr->next=tail;
tail=curr;
if(!head)
head=curr;
}
curr=head;
while(curr)
{
printf("Curr value is:%d\n",curr->value);
curr=curr->next;
}
return 0;
}
これは、C++、Cではないです。これが当てはまるので、新しいmallocを使うのはどうですか? –
@ RichardJ.RossIII:コードに 'typedef'があります。 – dirkgently
@dirkgently本当ですが、彼はそれを使用しません。 –