【问题标题】:Argument type error参数类型错误
【发布时间】:2014-03-28 19:00:28
【问题描述】:

以下代码表明 格式“%s”需要“char *”类型的参数,但参数 11 的类型为“int” 格式“%s”需要“char *”类型的参数,但参数 12 的类型为“int” 我没有看到变量类型有任何错误。

typedef struct{

        char country[20];
        char town[20];
    }location;
    typedef struct{
        int birthday_day;
        int birthday_month;
        int birthday_year;
    } birthday;
    typedef struct{
        char university;
        char department;
        int year_of_graduation;
    }education;
    typedef struct{
        int id;
        char name[20];
        char surname[20];
        location place;
        birthday birth;
    education school;
        int quantity_of_friends;
        int quantity_of_likes;
        int quantity_of_posts;
    }user;

user usser[100];
int i;

for (i=0;i<100;i++){
fscanf(input,"%i %s %s %s %s %i %i %i %s %s %i %i %i %i ", &usser[i].id, usser[i].name,usser[i].surname, usser[i].place.country,usser[i].place.town, &usser[i].birth.birthday_day,&usser[i].birth.birthday_month, &usser[i].birth.birthday_year, usser[i].school.university, usser[i].school.department,&usser[i].school.year_of_graduation,    &usser[i].quantity_of_friends,&usser[i].quantity_of_likes, &usser[i].quantity_of_posts);
}

【问题讨论】:

    标签: c types arguments structure scanf


    【解决方案1】:

    你只声明了字符变量

        char university;
        char department;
    

    但您期望来自导致警告的字符串。

    可能是这样的

        char university[100];
        char department[100];
    

    【讨论】:

    • 正确。该死。不知何故,我错过了 uni 的名称应该是一个数组的条件。谢谢!
    【解决方案2】:

    在 Education struct 中,universitydepartment 只是两个单字符,您需要将它们定义为数组

        char university[SIZE];
        char department[SIZE];
    

    【讨论】:

      【解决方案3】:

      问题是这样的

      typedef struct{
          char university;
          char department;
          int year_of_graduation;
      }education;
      

      universitydepartment 应该是 char 数组,而不仅仅是 char。

      【讨论】:

        猜你喜欢
        • 2020-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多