愈伤组织 发表于 2020-2-23 17:36:53

定义了一个结构体数组并且尝试为结构体数组赋值,然出了问题

#include <stdio.h>
int main()
{        int i=0;
        printf("输入几个学生的成绩");
        scanf("%d",&i);

        struct Student
        {
                char sno;
                char sname;
                char sex;
                char address;
        };
        struct Student students;

        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:",j+1);
                scanf("%s",&students.sno);

                printf("第%d个学生的姓名为:",j+1);
                scanf("%s",&students.sname);

                printf("第%d个学生的性别为:",j+1);
                scanf("%s",&students.sex);

                printf("第%d个学生的家庭住址为:",j+1);
                scanf("%s",&students.address);
       
        }
       
        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:%s",j+1,students.sno);
                printf("第%d个学生的姓名为:%s",j+1,students.sname);
                printf("第%d个学生的性别为:%s",j+1,students.sex);
                printf("第%d个学生的家庭住址为:%s",j+1,students.address);
       
        }

}

请问:为什么我无法为结构体数组中的元素赋值,我到底该怎么样才能赋值,求指点

FavouriteTasty 发表于 2020-2-23 17:42:56

赋值循环&students[]的变量是j啊

愈伤组织 发表于 2020-2-23 17:53:26

抱歉,我刚刚运行程序发现了,抱歉

愈伤组织 发表于 2020-2-23 17:54:09

#include <stdio.h>
int main()
{        int i=0;
        printf("输入几个学生的成绩");
        scanf("%d",&i);

        struct Student
        {
                char sno;
                char sname;
                char sex;
                char address;
        };
        struct Student students;

        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:",j+1);
                scanf("%s",&students.sno);

                printf("第%d个学生的姓名为:",j+1);
                scanf("%s",&students.sname);

                printf("第%d个学生的性别为:",j+1);
                scanf("%s",&students.sex);

                printf("第%d个学生的家庭住址为:",j+1);
                scanf("%s",&students.address);
       
        }
       
        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:%s",j+1,students.sno);
                printf("第%d个学生的姓名为:%s",j+1,students.sname);
                printf("第%d个学生的性别为:%s",j+1,students.sex);
                printf("第%d个学生的家庭住址为:%s",j+1,students.address);
       
        }

}

愈伤组织 发表于 2020-2-23 18:01:44

#include <stdio.h>
int main()
{        int i=0;
        printf("xiang输入几个学生的成绩");
        scanf("%d",&i);

        struct Student
        {
                char sno;
                char sname;
                char sex;
                char address;
        };
        struct Student students;

        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:",j+1);
                scanf("%s",students.sno);

                printf("第%d个学生的姓名为:",j+1);
                scanf("%s",students.sname);

                printf("第%d个学生的性别为:",j+1);
                scanf("%s",students.sex);

                printf("第%d个学生的家庭住址为:",j+1);
                scanf("%s",students.address);




       
        }
       
        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:%s",j+1,students.sno);
                printf("第%d个学生的姓名为:%s",j+1,students.sname);
                printf("第%d个学生的性别为:%s",j+1,students.sex);
                printf("第%d个学生的家庭住址为:%s",j+1,students.address);
       
        }

}
#include <stdio.h>
int main()
{        int i=0;
        printf("xiang输入几个学生的成绩");
        scanf("%d",&i);

        struct Student
        {
                char sno;
                char sname;
                char sex;
                char address;
        };
        struct Student students;

        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:",j+1);
                scanf("%s",&students.sno);

                printf("第%d个学生的姓名为:",j+1);
                scanf("%s",&students.sname);

                printf("第%d个学生的性别为:",j+1);
                scanf("%s",&students.sex);

                printf("第%d个学生的家庭住址为:",j+1);
                scanf("%s",&students.address);
       
        }
       
        for(int j=0;j<i;j++)
        {
                printf("第%d个学生的学号为:%s",j+1,students.sno);
                printf("第%d个学生的姓名为:%s",j+1,students.sname);
                printf("第%d个学生的性别为:%s",j+1,students.sex);
                printf("第%d个学生的家庭住址为:%s",j+1,students.address);
       
        }

}
二者都可以说明student[]==&student[]
页: [1]
查看完整版本: 定义了一个结构体数组并且尝试为结构体数组赋值,然出了问题