RRROLE 发表于 2021-1-12 23:35:43

带指针的形参实参问题(填空)

代码中的加粗下划线部分应该填什么,请详细解释一下,鄙人这部分比较弱
代码的功能是顺序表的初始化和获取元素
#define MAXSIZE 20
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef int ElemType;
typedef struct
{
int data ;
int last;
}sqlist;

/*线性表的初始化*/
sqlist * init_()
{
sqlist *L;//命名一个sqlist *类型的指针。
L=(sqlist*)malloc(sizeof(sqlist));
if(L!=NULL)
return L;
}
/*Getlem 获取元素操作*/
/*操作结果是用e返回表L中第i个元素的值,所以为int类型*/
int Getlem (sqlist L,int * e,int i)
{
        if(L.last==0||i<1||i>L.last)
                return ERROR;
        *e=L.data;
return *e;
}
int main ()
{int x;
int i;
int *e;
sqlist *L;
L=init_();
L->data=1;
L->data=2;
L->data=3;
L->data=4;
scanf("%d",&i);//输入你想取得第i个元素
x=Getlem(*L, ,i);
printf("%d",x);
return 0;}

昨非 发表于 2021-1-12 23:49:02

本帖最后由 昨非 于 2021-1-13 00:01 编辑

按照上下文的意思,应该是想要用e来充当参数然后将指针所指的值返回给x的
但是指针e未初始化,我刚刚试了试给e初始化未空指针
然后不报错了,但是x的访问值都是0,不理解,同问

风过无痕1989 发表于 2021-1-13 01:59:45

我回个帖子

心驰神往 发表于 2021-1-13 07:56:22

赚个鱼币,等个大佬

jackz007 发表于 2021-1-13 11:18:31

本帖最后由 jackz007 于 2021-1-13 11:19 编辑

int Getlem (sqlist L , int * e , int i)
{
      if(L . last == 0 || i < 1 || i > L . last) return ERROR ;
      根据此条件判断
      必须为 L 的 last 成员赋值
int main (void)
{
. . . . . .
      L -> data=4            ;
      L -> last = 4             ; // 必须添加此句
      scanf("%d", & i)          ; // 输入你想取得第i个元素

bhcqzf 发表于 2021-1-13 11:33:56

帮顶下

RRROLE 发表于 2021-1-13 14:31:53

蹲{:10_245:}

风过无痕1989 发表于 2021-1-13 21:48:09

你们都有回帖奖励,为啥我没有?

风过无痕1989 发表于 2021-1-13 21:48:54

我的运气,真的这么差吗?

风过无痕1989 发表于 2021-1-13 21:50:03

我就不信这个邪

风过无痕1989 发表于 2021-1-13 21:51:15

第四个帖子

风过无痕1989 发表于 2021-1-13 21:52:14

第五个帖子

法外狂徒张三 发表于 2021-1-13 22:15:02

等大佬,赚个币

sky爱瑜 发表于 2021-1-13 22:40:24

等大佬

呆萌的月饼不呆 发表于 2021-1-14 08:10:23

Fillol 发表于 2021-1-14 10:57:38

萌新等个大佬,顺带挣个币

cpj0036 发表于 2021-1-14 11:31:07

老王八我来白票鱼币了,钱拿走了

哪块臭猪皮 发表于 2021-1-14 12:18:12

第一次来等个帅哥,想嫖个鱼币嘻嘻
页: [1]
查看完整版本: 带指针的形参实参问题(填空)