我的链表只打印最后一个节点.我怎样才能解决我的问题;
我有一个函数将样本数据填充到链表中,然后打印所有节点.但我的代码只打印此图像:

我的功能是:
void FillSamples()
{
db = (database *)malloc(sizeof(database));
db->name = "College";
tables=NULL;
char na[5];
int i = 0;
for (i = 1; i <= 20; i++) {
temptable = (table *)malloc(sizeof(table));
itoa(i, na, 10);
temptable->name = na;
temptable->next = tables;
tables = temptable;
}
// create links
db->tables = tables;
// print sample
printf("database name = %s \n", db->name);
temptable=tables;
while (temptable)
{
printf("tables name = %s \n", temptable->name);
temptable=temptable->next;
}
}
Run Code Online (Sandbox Code Playgroud)