1. 链表如何赋值
#include
#define NULL 0
struct student
{long num;
float score;
struct student *next;
};
void main()
{struct student a,b,c,*head,*p;
a.num=10101;a.score=89.5;
b.num=10103;b.score=90;
c.num=10107;c.score=85;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
do
{printf("%ld%5.1fn",p->num,p->score);
p=p->next;
}while(p!=NULL);
2. 带表头结点的单链表如何赋值,,程序每次都会停止
//没必要头和结点是分别的类型,最好是同一类型
//新结点最好初始化一下
//只是在你的基础上改了一下, 貌似头和结点并没有连接在一起
#include
#include
typedef struct
{
struct node *head;
int n;
}HeaderList;
typedef struct node
{
int element;
struct node *link;
}node;
int main()
{
HeaderList *h;
h=(HeaderList*)malloc(sizeof(HeaderList));
node *q;
int i;
for(i=0;ilink=NULL;
printf("输入元素数值:");
scanf("%d",&q->element);
q=q->link;
}
// q->link=NULL;
return 0;
}用C++写的,参与一下
#include
#include
using namespace std;
struct node //定义结构体
{
char* ch; //存放数据字符串
struct node* next; //指向下一个结点
};
struct node* Create() //新建结点并初始化
{
struct node* n=new struct node;
n->ch=NULL;
n->next=NULL;
return n;
}
int main()
{
struct node *head=NULL,*p=NULL;
char s[100]=" ";
while(1)
{
memset(s,'