Mike_Yu 发表于 2020-2-15 18:47:59

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

typedef struct{
    Element Data;   
    intListLen;    //数组的长度,数组最后一个元素的下标是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 = e;
      L.ListLen =L.ListLen +1;
      scanf("%c",&e);
    }
}

ba21 发表于 2020-2-15 18:49:21

我说你的main函数在哪?
难不成你是老师要学生我们来补全代码的?

Mike_Yu 发表于 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);
    }
}

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

    getchar();
    getchar();
    return 0;
}
不好意思{:5_109:},遗漏了

ba21 发表于 2020-2-15 19:44:08

Mike_Yu 发表于 2020-2-15 19:38
void Print_Buf(StaticList L)
{
    int len;


哎,是说叫你把代码上全。。。

Mike_Yu 发表于 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;   
    intListLen;    //数组的长度,数组最后一个元素的下标是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 = 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);
    }
}

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

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

{:5_109:}8好意思

ba21 发表于 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;   
    intListLen;    //数组的长度,数组最后一个元素的下标是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 = 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);
    }
}

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

    Print_Buf(L);

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

Mike_Yu 发表于 2020-2-15 22:24:16

ba21 发表于 2020-2-15 22:01
看样子功底不够扎实。自已看代码理解
#include
#include


我懂辽!谢谢大佬!
页: [1]
查看完整版本: 我创建的顺序表为什么创建完之后再主程序中读L.ListLen 值一直是0