#include
#include
#define TER sizeof(STD);
typedef
struct
{
char name[20];
int num;
double score;
struct *next;
}STD;
STD *cha(); //創建鏈表
void *print(STD*head); //打印鏈表
int n;
void main()
{
STD *sub;
sub=cha();
print(sub);
}
STD * cha()
{
STD *head;
STD *p1,*p2;
p1 = p2 =(STD*)malloc(TER);
printf("輸入姓名:");
scanf("%s",p1->name);
printf("輸入學號");
scnaf("%d",p1->num);
printf("輸入成績:");
scanf("%lf",p1->score);
head=NULL;
n=0;
while(p1->num!=0)
{
n++;
if(n == 1)
{
head=p1;
}
else
{
p2->next=p1;
}
}
p2->next=NULL;
return head;
}
void print(STD*head)
{
STD *p;
printf("一共%d人",d);
*P=head;
if(head)
{
do
{
printf("姓名是%s的成績是%d:",p->name,p->score);
p->next;
}while(p!=NULL);
}
}
錯誤有點多哦.....有些都看不懂你要干什麼:
1、頭文件包含看不到是什麼
#inclued <stdio.h>
#include<stdlib.h>
2、先取名字,再用類型
typedef
struct STDSTRU
{
char name[20];
int num;
double score;
STDSTRU *next;
}STD;
3、函數名寫錯了
printf("輸入姓名:");
scanf("%s",p1->name);
printf("輸入學號");
scnaf("%d",p1->num);//scanf(),函數名寫錯了
printf("輸入成績:");
scanf("%lf",p1->score);
4、變量名大小寫混亂
5、未定義變量
STD p;
printf("一共%d人",d);//後面的參數d沒定義,不知道要輸出什麼
*P=head;//定義的小寫,這裡應該是小寫p=head,且指針賦值不用帶 * 號,號就是解引用了
這些都是語法錯誤。。可能還有別的語法錯誤,我沒編譯。