|
发表于 2022-6-3 16:41:06
|
显示全部楼层
本楼为最佳答案
本帖最后由 jackz007 于 2022-6-3 16:52 编辑
- scanf_s("%s", pu[i] . email) ;
- . . . . . .
- scanf_s("%s", pu[i] . qq) ;
复制代码
改为:
- scanf_s("%s", pu[i] . email , 50) ;
- . . . . . .
- scanf_s("%s", pu[i] . qq , 20) ;
复制代码
修改后的代码:
- #include <stdio.h>
- #include <stdlib.h>
- struct Student {
- int id ;
- int sex ;
- char email[50] ;
- char qq[20] ;
- } stu ;
- int main(void)
- {
- int n , i ;
- printf("输入一个数字:") ;
- scanf_s("%d" , &n) ;
- struct Student * pu = &stu ;
- pu = (struct Student *) malloc(n * sizeof(struct Student)) ; //【修改1】
-
- for (i = 0; i < n; i++)
- {
- printf("请输入第%d个学生的信息\n", i + 1) ;
- printf("请输入id :") ;
- scanf_s("%d" , & pu[i] . id) ;
- printf("请输入性别:") ;
- scanf_s("%d", & pu[i] . sex) ;
- printf("请输入邮箱:");
- scanf_s("%s", pu[i] . email , 50) ; //【修改2】
- printf("请输入qq:") ;
- scanf_s("%s", pu[i] . qq , 20) ; //【修改3】
- }
- printf("\n=====数据录入完毕=====\n");
- printf("\n以下是录入的所有男生的数据:\n");
- for (i = 0; i < n; i++)
- {
- if (pu[i].sex == 1)
- {
- printf("ID:%d\n", pu[i].id);
- printf("QQ号是:%s\n", pu[i].qq);
- printf("Email是:%s\n", pu[i].email);
- }
- }
- printf("\n以下是录入的所有女生的数据:\n");
- for (i = 0; i < n; i++)
- {
- if (pu[i].sex == 0)
- {
- printf("ID:%d\n", pu[i].id);
- printf("QQ号是:%s\n", pu[i].qq);
- printf("Email是:%s\n", pu[i].email);
- }
- }
- free(pu);
- return 0;
- }
复制代码 |
|