标题:L.length为什么是0?
只看楼主
facebook88
Rank: 1
等 级:新手上路
帖 子:11
专家分:6
注 册:2013-12-3
结帖率:100%
已结贴  问题点数:20 回复次数:3 
L.length为什么是0?
程序代码:
#include <stdio.h>
#include <stdlib.h>

#define LIST_INIT_SIZE 100

typedef struct List
{
    int *elem;
    int length;
    int listsize;
}SeqList;

SeqList Init(SeqList L);
bool Create(SeqList L);

void main()
{
    SeqList L;
    L = Init(L);
    Create(L);
    printf("%d\n",L.length);
}

SeqList Init(SeqList L)
{
    L.elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int)); 
    if (!L.elem)
        exit(1);
    L.length = 0;
    L.listsize = LIST_INIT_SIZE;
    return L;
}

bool Create(SeqList L)
{
    int *ptr;
    ptr = L.elem;
    for (int i = 0; i < 5; i++)
    {
        scanf("%d",ptr);
        ptr++;
        L.length++;
    }
    return true;
}
搜索更多相关主题的帖子: Create 
2013-12-03 14:29
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:20 
形参和实参吧...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-12-03 14:40
facebook88
Rank: 1
等 级:新手上路
帖 子:11
专家分:6
注 册:2013-12-3
得分:0 
回复 2楼 peach5460
没太明白.
2013-12-03 14:45
facebook88
Rank: 1
等 级:新手上路
帖 子:11
专家分:6
注 册:2013-12-3
得分:0 
回复 2楼 peach5460
把create函数改为Create(SeqList &L),就可以了。看来要自己研究下函数如何返回值了。
2013-12-03 15:39



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




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

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