鱼C论坛

 找回密码
 立即注册
查看: 2594|回复: 6

我创建的顺序表为什么创建完之后再主程序中读L.ListLen 值一直是0

[复制链接]
发表于 2020-2-15 18:47:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
typedef struct{
    Element Data[MAXSIZE];   
    int  ListLen;    //数组的长度,数组最后一个元素的下标是Listlen-1
}StaticList;

void Init_StaticList(StaticList L)
{
    L.ListLen = 0;
}

void Creat_Buf(StaticList L)
{
    Element e;
    printf("please inpur data...:\r\n");
    scanf("%c",&e);
    while('#' != e)
    {
        L.Data[L.ListLen] = e;
        L.ListLen =L.ListLen +1;
        scanf("%c",&e);
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-15 18:49:21 | 显示全部楼层
我说你的main函数在哪?
难不成你是老师要学生我们来补全代码的?

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
人造人 + 5 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-15 19:38:53 | 显示全部楼层
ba21 发表于 2020-2-15 18:49
我说你的main函数在哪?
难不成你是老师要学生我们来补全代码的?

void Print_Buf(StaticList L)
{
    int len;
    int i;
    len = L.ListLen;
    for(i=0; i<len ;i++)
    {
        printf("%c ",L.Data[i]);
    }
}

int main(void)
{
    StaticList L;
    Init_StaticList(L);
    Creat_Buf(L);
    printf("\r\n%c",L.Data[1]);
    printf("\r\n%d",L.ListLen);
    Print_Buf(L);

    getchar();
    getchar();
    return 0;
}
不好意思,遗漏了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-15 19:44:08 | 显示全部楼层
Mike_Yu 发表于 2020-2-15 19:38
void Print_Buf(StaticList L)
{
    int len;

哎,是说叫你把代码上全。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-15 20:01:58 | 显示全部楼层
ba21 发表于 2020-2-15 19:44
哎,是说叫你把代码上全。。。

#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<math.h>
#include<string.h>
//writing in 2020/2/15/12:38

#define MAXSIZE 100
#define ERROR 0
#define OK 1

typedef char Element;

typedef struct{
    Element Data[MAXSIZE];   
    int  ListLen;    //数组的长度,数组最后一个元素的下标是Listlen-1
}StaticList;

void Init_StaticList(StaticList L)
{
    L.ListLen = 0;
}

void Creat_Buf(StaticList L)
{
    Element e;
    printf("please inpur data...:\r\n");
    scanf("%c",&e);
    while('#' != e)
    {
        L.Data[L.ListLen] = e;
        L.ListLen =L.ListLen +1;
        scanf("%c",&e);
    }
}

void Print_Buf(StaticList L)
{
    int len;
    int i;
    len = L.ListLen;
    for(i=0; i<len ;i++)
    {
        printf("%c ",L.Data[i]);
    }
}

int main(void)
{
    StaticList L;
    Init_StaticList(L);
    Creat_Buf(L);
    printf("\r\n%c",L.Data[1]);
    printf("\r\n%d",L.ListLen);
    Print_Buf(L);

    getchar();
    getchar();
    return 0;
}

8好意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-15 22:01:35 | 显示全部楼层
Mike_Yu 发表于 2020-2-15 20:01
#include
#include
#include

看样子功底不够扎实。自已看代码理解
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
//writing in 2020/2/15/12:38

#define MAXSIZE 100
#define ERROR 0
#define OK 1

typedef char Element;

typedef struct{
    Element Data[MAXSIZE];   
    int  ListLen;    //数组的长度,数组最后一个元素的下标是Listlen-1
}StaticList;

void Init_StaticList(StaticList *L)
{
    L->ListLen = 0;
}

void Creat_Buf(StaticList *L)
{
    Element e;
    printf("please inpur data...:\r\n");
    scanf("%c",&e);
    while('#' != e)
    {
        L->Data[L->ListLen] = e;
        L->ListLen =L->ListLen +1;
        scanf("%c",&e);
    }

}

void Print_Buf(StaticList L)
{
    int len;
    int i;
    len = L.ListLen;
    for(i=0; i<len ;i++)
    {
        printf("%c ",L.Data[i]);
    }
}

int main(void)
{
    StaticList L;
    Init_StaticList(&L);
    Creat_Buf(&L);

    Print_Buf(L);

    getchar();
    getchar();
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-15 22:24:16 | 显示全部楼层
ba21 发表于 2020-2-15 22:01
看样子功底不够扎实。自已看代码理解
#include
#include

我懂辽!谢谢大佬!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-1 05:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表