新人求教!简单链式线性表的建立
#include <stdio.h>#include <stdlib.h>
struct L{
int data; //链表数据
struct L* next; //链表指针
};
/*头插法-建立单链表*/
L crt(L *la,int d)
{
int count=0;
L *head;
la=(L*)malloc(sizeof(L)); //建立头结点
head=la;
la->next=NULL;
while(count!=d)
{
L *p=(L*)malloc(sizeof(L));
p->next=la->next;
la->next=p;
scanf("%d",&p->data);
count++;
}
return *head;
}
int main()
{
int num;
L *la,*h;
scanf("%d",&num);
*h=crt(la,num);
for(int i=0;i<num;i++)
{
printf("%d",(h+i)->data);
printf("\n");
}
printf("\n");
}
新人第一次提问哈,希望大大们解答。
代码大概就是建立一个链式线性表然后一次输出,问题是输出的不是原来输入的数据。
还有一个问题是这段代码在VS2010中不能运行,但在C-FREE4.0可以,这是为什么?