Mọi người sửa lỗi và code thêm phần giải phóng bộ nhớ động đã cấp phát giúp em với ạ?
include "stdio.h"
include "conio.h"
include "stdlib.h"
include "string.h"
typedef struct sinhvien
{
char hoten[25], masv[5];
int tuoi;
struct sinhvien *next;
}sv;
int main()
{
sv *p, *pdau;
pdau = NULL;
int tuoi, i = 1;
char tam[25];
// nhap du lieu
while(1)
{
printf("\nnhap thong tin cho sinh vien thu %d: ", i);
printf("\nnhap ten: ");
fflush(stdin);
gets(tam);
if(tam[0] == '\0')
{
break;
}
if(pdau == NULL)
{
pdau = (sv*)malloc(sizeof(sv*));
p = pdau;
}
else
{
p->next = (sv*)malloc(sizeof(sv*));
p = p->next;
}
strcpy(p->hoten, tam);
printf("\nnhap vao ma sinh: ", i);
fflush(stdin);
gets(p->masv);
printf("\nnhap vao tuoi cua sv: ");
scanf("%d%*c", &tuoi);
p->tuoi = tuoi;
p->next = NULL;
i++;
}
// xuat du lieu
while(p!= NULL)
{
printf("\nten: %s\tma sinh vien: %s\ttuoi:", p->hoten, p->masv, p->tuoi);
p->next;
}
// em chua biet giai phong bo nho da cap phat.
getch();
return 0;
}