一个小号 发表于 2018-12-6 17:06:45

C语言 ,求大神指点!!!

#include "pch.h"
#include <iostream>
#include <stdlib.h>
#include <malloc.h>

struct student
{
        int age;
        char sex;
        float score;
        char name[];//字符数组
};

int main()
{
        int num;
        struct student *pstu;
       
        printf("请输入学生的人数:\n");
        printf("人数为 = ");
        scanf("%d", &num);

        pstu = (struct student *)malloc(num * sizeof(struct student));

        for (int i = 0; i < num; i++)
        {
                printf("请输入%d学生的信息:\n", i + 1);
                printf("年龄:");
                scanf("%d", &pstu.age);
                printf("\n性别:");
                scanf("%s", &pstu.sex);
                printf("\n成绩:");
                scanf("%f", &pstu.score);
                printf("\n姓名:");
                scanf("%s", pstu.name);
        }
        printf("输出的学生信息为:\n");
        for (int i = 0; i < num; i++)
        {
                printf("第%d个学生的信息为:", i+1);
                printf("年龄为 : %d 性别为: %c 成绩为:%f 姓名为: %s\n", pstu.age
                        , pstu.sex, pstu.score, pstu.name);
        }

        system("pause");
        return 0;
}


今天学习简单的数据结构体,这个简单的学生录入系统。每次执行都会有问题,有谁知道什么原因吗?
性别只能出现一个字符,姓名 第一个不显示
请指教一下,谢谢!!!!

Mountain_gs 发表于 2018-12-6 17:31:57

char sex;
另一个问题我也不知道

百里狂生 发表于 2018-12-6 23:11:29

char sex;//字符型数据 ,只能一个字符

char name[];//数组需要在编写代码时分配数组长度。

改了这两个就ok
页: [1]
查看完整版本: C语言 ,求大神指点!!!