注册 登录
编程论坛 数据结构与算法

简单顺序表在链接时出错

JJ是也 发布于 2012-05-21 17:13, 591 次点击
程序代码:
#include <stdio.h>
#define MAXSIZE 100

typedef struct List
{
    int password[MAXSIZE];
    int last;
}SeqList;

SeqList ListInit (SeqList L)
{
    L.last = 0;
    return L;
}

SeqList ListInsert (SeqList L)
{
    int i, n;

    printf ("n=");
    scanf ("%d", &n);
    L.last = n;
    for (i=0; i<n; i++)
    {
        scanf ("%d", &L.password[i]);
    }
    return L;
}

void mian ()
{

    SeqList L;
    int m;

    L = ListInit (L);
    ListInsert (L);

    for (m=0; m<L.last; m++)
    {
        printf ("%d ", L.password[m]);
    }
   
}
各位大神。。帮帮忙找茬
4 回复
#2
yuccn2012-05-21 23:28
mian -》main
#3
yuccn2012-05-21 23:38
ListInsert (L);
这些传参数都是传了形参,把它的地址存进去吧,要不是带不回来的

 SeqList ListInit (SeqList &L)
 {
     L.last = 0;
     return L;
 }
 
void ListInsert (SeqList &L)
 {
    int i, n;

    printf ("n=");
    scanf ("%d", &n);

    if (n > MAXSIZE) {
        n = MAXSIZE;
    }

    L.last = n;

    for (i=0; i<n; i++)
    {
        scanf ("%d", &L.password[i]);
    }
 }
 
void main()
{
    SeqList L;
    int m;

    ListInit (L);
    ListInsert (L);

    for (m=0; m<L.last; m++) {
       printf ("%d ", L.password[m]);
    }   
 }
#4
JJ是也2012-05-22 15:26
回复 3楼 yuccn
谢谢。。就是这个问题
#5
zhouping01052012-05-22 18:05
#include <stdio.h>
#define MAXSIZE 100

typedef struct List
{
    int password[MAXSIZE];
    int last;   
} SeqList;

SeqList ListInit(SeqList L)
{
    L.last = 0;
    return L;   
}

SeqList ListInsert(SeqList L)
{
    int i, n;
   
    printf("n = ");
    scanf("%d", &n);
    L.last = n;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &L.password[i]);   
    }   
    return L;
}

int main(void)
{
    SeqList L;
    int m;
   
    L = ListInit(L);     <========should be
    L = ListInsert(L);   <========should be   
   
    for (m = 0; m < L.last; m++)
        printf("%d ", L.password[m]);
        
    system("pause");
    return 0;
}
1