标题:c语言,结构体中怎么把 elem[20]赋值给 elem2[20]
只看楼主
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
结帖率:75.86%
已结贴  问题点数:10 回复次数:5 
c语言,结构体中怎么把 elem[20]赋值给 elem2[20]

      在main()函数中给elem[]赋值,然后在fuzhi()函数中把elem[]中的数赋值给elem2[],但结果elem2[]中是乱码

     求解

#include"stdio.h"
#include"stdlib.h"
typedef struct
{
    int elem[20];
    int length;
    int elem2[20];
}SqList;
int fuzhi(SqList *L)
{
    SqList *s;
    int j;
    s=(SqList *)malloc(sizeof(SqList));
    for(j=0;j<=20;j++)
    {
         s->elem2[j]=L->elem[j];
    }
}
int displist(SqList *ST)
{
    int i;
    fuzhi(&ST);
    for(i=0;i<=20;i++)
    {
        printf("%d\n",ST->elem2[i]);
    }
}
main()
{
    int i,x;
    SqList ST;
    SqList *s;
    s=(SqList *)malloc(sizeof(SqList));
    printf("请输入顺序表的长度:");
    scanf("%d",&ST.length);
    for(i=0;i<=ST.length-1;i++)
    {
        ST.elem[i]=rand()%100;
        printf("%d\n",ST.elem[i]);
    }
    printf("数组elem2中的数为:\n");
    displist(&ST);
}
搜索更多相关主题的帖子: include 结构体 c语言 
2014-11-16 13:37
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
得分:4 
那是因为你的ST.elem2的内存空间没进行赋值!!! ST和s的内存空间不是同一个!!!!

~~~~~~我的明天我知道~~~。
2014-11-16 16:12
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
得分:0 
回复 2 楼 xufan


            怎么改呢-。-

自定义人生。。。
2014-11-16 23:43
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
得分:4 
相同结构可以直接赋值  a = b

hl928452957@gmail点com

2014-11-17 07:56
abc8238778
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2014-10-27
得分:4 
a=b,不就赋值了吗
2014-11-18 16:07
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
得分:0 


          要求是elem[20]赋值给elem2[20],然后在displist()函数中读出elem2[]

自定义人生。。。
2014-11-20 13:50



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




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

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