求大神看看哪里有问题,谢谢!
#include<stdio.h>
typedef struct st
{
char name[10];
int n;
double score;
struct st *next;
}lb;
int main(void)
{
lb s1={"wanghu",4565,98.1,NULL};
lb s2={"fsdg",6366,64.81,NULL};
lb s3={"jfgjdf",6753,68.1,NULL};
lb s4={"tcg",2546,95.7,NULL};
lb *head=&s1;
s1.next=&s2;
s2.next=&s3;
s3.next=&s4;
s4.next=NULL;
lb *p=head;
while(p!=NULL)
{
printf("name:%s\nnumber:%d\nscore:%.2f\n\n",p->name,p->n,p->score);
p=p->next;
}
return 0;
}
运行不了,显示我的p是没有声明的标识符。
1>------ 已启动生成: 项目: ghgfh, 配置: Debug Win32 ------
1> 190729.c
1>d:\重要的事情\ghgfh\ghgfh\190729.c(21): error C2275: “lb”: 将此类型用作表达式非法
1> d:\重要的事情\ghgfh\ghgfh\190729.c(8) : 参见“lb”的声明
1>d:\重要的事情\ghgfh\ghgfh\190729.c(21): error C2065: “p”: 未声明的标识符
1>d:\重要的事情\ghgfh\ghgfh\190729.c(22): error C2065: “p”: 未声明的标识符
1>d:\重要的事情\ghgfh\ghgfh\190729.c(22): warning C4047: “!=”:“int”与“void *”的间接级别不同
1>d:\重要的事情\ghgfh\ghgfh\190729.c(24): error C2065: “p”: 未声明的标识符
1>d:\重要的事情\ghgfh\ghgfh\190729.c(24): error C2223: “->name”的左侧必须指向结构/联合
1>d:\重要的事情\ghgfh\ghgfh\190729.c(24): error C2065: “p”: 未声明的标识符
1>d:\重要的事情\ghgfh\ghgfh\190729.c(24): error C2223: “->n”的左侧必须指向结构/联合
1>d:\重要的事情\ghgfh\ghgfh\190729.c(24): error C2065: “p”: 未声明的标识符
1>d:\重要的事情\ghgfh\ghgfh\190729.c(24): error C2223: “->score”的左侧必须指向结构/联合
1>d:\重要的事情\ghgfh\ghgfh\190729.c(25): error C2065: “p”: 未声明的标识符
1>d:\重要的事情\ghgfh\ghgfh\190729.c(25): error C2065: “p”: 未声明的标识符
1>d:\重要的事情\ghgfh\ghgfh\190729.c(25): error C2223: “->next”的左侧必须指向结构/联合
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========