萌新小白c语言求救 关于输入学生基本信息 结构体的问题
#include <stdio.h>
#include <stdlib.h>
struct student
{
    char name[20];
    int id;
    char sex;
    char add[100];
 } stu[3];
 void input(struct student stu[])
 {
    int i;
    for(i=0;i<3;i++)
    {
        printf("NO.%d \n",i+1);
        printf("请输入学生姓名:\n");
        scanf("%s",&stu[i].name);
        printf("请输入学生的学号:\n");
        scanf("%d",&stu[i].id);
        printf("请输入学生的性别:\n");
        scanf("%s",&stu[i].sex);
        printf("请输入学生的住址:\n");
        scanf("%s",&stu[i].add);
        printf("-----------------------\n");    
  }
 }
 void print(struct student stu[])
 {
    int i;
     printf("姓名学号性别住址 \n");
    for(i=0;i<3;i++)
    {
        printf("NO.%d \n",i+1);

        printf("%s\t%d\t%s\t%s\t\n",stu[i].name,stu[i].id,stu[i].sex,stu[i].add);       
     }
 }
 void main()
 {
    printf("请按照提示输入学生基本信息\n");
    input(stu);
    printf("正在输出所有学生信息:\n");
    print(stu); 
 }

然后就出现了这种qing'k

2个回答

图片说明

如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

char sex;
->
char sex[3]; //字符串需要的长度起码是文字长度+1,中文算两个汉字,还有结束字符,所以需要3

图片说明

weixin_43475798
Seals_6 c语言
9 个月之前 回复
caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复weixin_43475798: 你是c还是cpp
9 个月之前 回复
weixin_43475798
Seals_6 我把scanf函数对字符串数组的取地址删去就可以了,为什么你可以不删除就以用
9 个月之前 回复
weixin_43475798
Seals_6 为什么我刚刚改了,不行啊。
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!