【问题标题】:the structures in C [closed]C中的结构[关闭]
【发布时间】: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(请参阅已接受的答案)。

标签: c structure


【解决方案1】:

您应该在main 的主体之外定义您的结构。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 2018-08-29
    • 1970-01-01
    相关资源
    最近更新 更多