标题:求助:gets接收字符串没有成功,反而出现乱码
取消只看楼主
张敏樱木花道
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:137
注 册:2011-3-26
结帖率:88.89%
已结贴  问题点数:20 回复次数:0 
求助:gets接收字符串没有成功,反而出现乱码
//目标是用顺序表做成一个同学录系统
#include<stdio.h>
#include<string.h>
#define MAX 100
typedef struct
{
    char name[30];
    char sex[5];
    int age;
    int id;
}info1;//在这里定义一个结构体的类型,用来存放处理的对象的的信息
typedef struct
{
    info1 info[MAX];
    int len;
}stu;//这是一个顺序表,他的元素类型是我们刚才定义的info1类型的数组
//该系统有以下几个功能:构建数据,查询数据,增添数据,删除数据,排序,我们分别来进行这些功能模块设计
/**********************************************/
    /*功能:创造纪录*/
    /*接口:顺序表指针*/
/*****************************************/
void creatlist(stu *L)
{
    int i;
    printf("请输入记录的多少:");
    scanf("%d",&L->len);//控制长度的变量
    printf("请输入数据:\n姓名    性别    年龄    学号\n");
    for(i=0;i<L->len;i++)
    {
        gets(L->info[i].name);//为什么在此处用gets接收字符串没有成功,反而出现乱码呢?如果改为scanf就可以正常输入输出
        scanf("%s",L->info[i].sex);
        scanf("%d",&L->info[i].age);
        scanf("%d",&L->info[i].id);
    }
}
void output(stu *L)
{
    int i;
    printf("表中的信息为:\n姓名    性别    年龄    学号\n");
    for(i=0;i<L->len;i++)
    {
        printf("%s\t",L->info[i].name);
        printf("%s\t",L->info[i].sex);
        printf("%d\t",L->info[i].age);
        printf("%d\n",L->info[i].id);
    }
}
main()
{
    stu *L,a;
    L=&a;
    creatlist(L);
    output(L);
}
搜索更多相关主题的帖子: 同学录 字符串 结构体 元素 
2011-04-25 19:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-337882-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.341141 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved