我爱Cyinyinyin 发表于 2020-6-17 21:57:31

C语言的问题

void borrow()//图书的借阅
{
        system("cls");
        int n,i,s,d;
        n=search();
    if(n!=-1&&books.store>0)
    {
      printf("请输入借阅人姓名:");
      scanf("%s",&s);
      printf("请输入书名:");
      scanf("%s",&d);
      printf("请输入借阅日期:%d年%d月%d日");
      scanf("%d%d%d",&data.year,&data.month,&data.day);
      for(i=0; i<10; i++)
            if(books.pname==0)
            {
                books.pname=0;
                data.year=0;
                data.month=0;
                data.day=0;
                break;
            }
      books.store--;
    }
    else if(n!=-1&&books.store==0)
      printf("此书已全部借出.");
}
我想问一下下面这一行为什么错了
scanf("%d%d%d",&data.year,&data.month,&data.day);
这是显示一下两种错误原因,都是关于上面一行的
expected primary-expression before '.' token
expected unqualified-id before '.' token
定义如下
struct data
{
   int year;
   int month;
   int day;
};
期待大佬帮忙

chxchxkkk 发表于 2020-6-17 22:18:31

scanf("%d%d%d",&data.year,&data.month,&data.day);

定义如下
struct data
{
   int year;
   int month;
   int day;
};

没看到这个data是怎么定义的,如果是直接用结构体,c语言是不支持这样的,struct data data这样才可以

CrazySteve 发表于 2020-6-17 22:49:47

加上typedef
typedef struct data
{
   int year;
   int month;
   int day;
}data;
页: [1]
查看完整版本: C语言的问题