2013-12-24 83 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

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