c - 参数类型错误

标签 c types arguments structure scanf

下面的代码表明 格式“%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);
}

最佳答案

您仅声明了字符变量

    char university;
    char department;

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

所以可能就像

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

关于c - 参数类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22033102/

相关文章:

java - 如何从控制台向 main 传递除 String args[] 之外的参数?

python - 如何将数据列表映射到函数列表?

c - 给定一个可执行文件,显示其完整路径

c - 链表将节点移动到末尾C

c# - .Net 隐式转换指南

Python 函数类型检查

javascript - 在 for 循环中将参数传递给 setTimeout

c - 使用 fgets 读取标准输入而不是等待输入

c - 与复合赋值运算符一起使用的类型转换

c - 当输入数字太大时,C 程序无法运行