【发布时间】:2013-12-24 00:33:48
【问题描述】:
这是一个读取和显示学生数据(姓名、出生日期、gpa)的程序。
我不明白问题出在哪里,它在} token(第 14 行)之前显示语法错误,在 struct(第 8 行)之前显示语法错误。有什么好的建议吗?
提前谢谢你。
#include<stdio.h>
#include<stdlib.h>
void main ()
typeof struct
{
char name[10] ;
date DOB ;
float gpa;
}
student ;
typeof struct
{
int day , month , year ;
}
date;
printf("enter number of students n ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("enter student % data(name , date of birth & gpa )");
scanf("%s%d%lf",i+1, &a[i].name , &a[i].DOB.day, &a[i].DOB.month, &a[i].DOB.year , &a[i].gpa);
}
for(i=0;i<n;i++)
{
printf("nmae : %s\t date of birth : %d \t gpa : %lf\t",i+1, a[i].name , a[i].DOB , a[i].gpa);
}
【问题讨论】:
-
您不能在
void main()之后放置typedef(不是typeof!)。将typedef声明放在它前面。这是基本的 C 程序语法。对于建议,我建议您阅读 C 教程。 -
请标出错误的行,把所有的空行都数一遍很烦人。
-
此外,
main应该返回一个int,以void作为参数或int argc, char *argv[],您可以阅读here(请参阅已接受的答案)。