#include <stdio.h>
#include <stdlib.h>
struct student
{
int num;
char name[10];
struct student *next;
}
struct student *creat(int x) //这里不知道为什么错??
{
struct student *head,*p,*q;
int i;
for(i=0;i<x;i++)
{
p=(struct student*)malloc(sizeof(struct student));
printf("学生%d学号、姓名,i+1);
scanf("%d%s",&p->num,p->name);
if(i=0)
head=p=q;
else
{
q->next=p;
p->next=0;
q=p;
}
}
return(head);
}
void print(struct student *x)
{
struct student *m;
m=x;
printf("链表输出:\n");
while(m!=NULL)
{
printf("%d---%s",m->num,m->name);
m=m->next;
}
}
int main()
{
int n;
struct student *s;
printf("学生人数n=");
scanf("%d",&n);
s=creat(n);
print(s);
return 0;
}
我这个程序在VC++6.0下编译,不知道为什么struct student *creat(int x) 这句话老是编译不过,它的提示错误是:error C2236: unexpected 'struct' 'student' 我是在是想不出哪里错,请大家帮我看一下,我原本是想定义一个函数creat,它的返回值为一个指向结构体的指针。