2013-12-24 46 views
-6

这是一个阅读&的程序,显示一个学生的数据(姓名,出生日期,gpa)。 我不明白在哪里出现问题,它在结构(第8行)之前显示语法错误,之前}令牌(第14行)&语法错误。有什么好的建议? 预先感谢您。C的结构

#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); 
    } 
+3

你不能在'void main()'后面加上'typedef'(不是'typeof'!)。把'typedef'声明放在它之前。这是基本的C程序语法。对于建议,我会建议通过C教程。 – lurker

+0

请标记错误的行,计算所有的空行是烦人的。 – Kninnug

+1

另外'main'应该返回一个'int'作为参数或'int argc,char * argv []'作为参数'',你可以阅读[here](http://stackoverflow.com/questions/5020362/ declare-main-prototype)(参见接受的答案)。 – pzaenger

回答

3

您应该在main正文之外定义您的结构。

此外,typeof不是定义结构时要使用的C构造。也许你想要typedef

而你的主要缺少封闭{,}