用的visual 2019
代码如下:
#include <stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct Student)
struct Student
{
long num;
float score;
struct Student* next;
};
int n;
struct Student* creat(void)
{
struct Student* head;
struct Student* p1, * p2;
n = 0;
p1 = p2 = (struct Student*)malloc(LEN);
scanf("%ld,%f", &p1->num, &p1->score);
head= NULL;
while (p1->num!=0)
{
n = n + 1;
if (n == 1)head = p1;
else p2->next = p1;
p2 = p1;
p1 = (struct Student*)malloc(LEN);
scanf("%ld,%f", &p1->num, &p1->score);
}
p2->next = NULL;
return(head);
}
int main()
{
struct Student* pt;
pt = creat();
printf("\nnum:%ld\nscore:%5.lf\n", pt->num, pt->score);
return 0;
}
输入如下:
错误提示如下:
对着敲,也容易错。好好检查一下。提示你指针是空的