永发信息网

C语言问题:建立一个由3个学生数据组成的单向动态链表,向每个结点输入学生的数据(学号姓名成绩)逐个输出

答案:2  悬赏:70  手机版
解决时间 2021-11-22 19:20
  • 提问者网友:最美的风景
  • 2021-11-22 12:37
C语言问题:建立一个由3个学生数据组成的单向动态链表,向每个结点输入学生的数据(学号姓名成绩)逐个输出
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-11-22 13:11
#include
#include
#define LEN sizeof(struct student) //这里有变化

struct student
{
int num;
float score;
struct student*next;
};

void main()
{
student *head,*p,*s,*q;
head=(struct student*)malloc(LEN);
scanf("%d,%f,&p->num,&head->score");
p=(struct student*)malloc(LEN); //这里有变化
scanf ("%d,%f,&p->num,&p->score");
s= (struct student*)malloc(LEN); //这里有变化
scanf ("%d,%f,&p->num,&p->score");
head->next=p;
head->next=s;

q=head; //这里有变化
printf("\n结点1:%d,6.2f\n",q->num,q->score);//这里有变化
q=q->next;
printf("\n结点2:%d,6.2f\n",q->num,q->score);//这里有变化
q=q->next;
printf("\n结点3:%d,6.2f\n",q->num,q->score);//这里有变化
}

你对比你的那个程序看你错在那里,很多都是细节问题
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-11-22 13:48
struct student*head,*p,*s;
head=p=(struct student*)malloc(LEN);
scanf("%d,%f,&p->num,&p->score");
p= (struct student*)malloc(LEn);
scanf ("%d,%f,&p->num,&p->score");
s= (struct student*)malloc(LEn);
scanf ("%d,%f,&p->num,&p->score"); ------------------>第一个错误,p应该为s
head->next=p;
head->next=s; ------------------>第二个错误,head应该为p
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯