尝试将字符串放入嵌套结构

时间:2018-03-28 17:39:23

标签: c struct

我有一个嵌套的结构,我试图填充用户数据。结构:

typedef struct gameInfo 
{
    char title[MAX];
    char platform[MAX];
    char developer[MAX];
    unsigned int year;

    struct borrowerInfo
        {
            bool borrowed;
            char nameOfBorrower[MAX];
            char date[MAX];
        } borrower;
} game;

我正在使用gets()scanf()来获取用户的数据:

gets(game.title);
gets(game.platform);
gets(game.developer);
scanf("%d",&game.year);

然而,我收到错误:

error: expected expression before 'game'
   gets(game.title);
        ^~~~

我做错了什么?

1 个答案:

答案 0 :(得分:3)

game是类型的名称,而不是变量。您需要声明该类型的变量:

game mygame;

然后填充mygame

此外,永远不要用户gets,因为该函数可以超出它写入的缓冲区。最好改为使用fgets