数据结构之线性表操作

该段为自定义函数:int GetElem(Sqlist &L,int i,int &e){
if(i>0&&i<=L.ListSize){ //判断第i位置是否存在并通过“引用”将第i个数据返回到Result
e=L.elem[i-1];
return OK;}
else {printf("空间不存在\n"); //L.elem为空指针,返回QverFlow
return(OverFlow);}
}
该段为主函数一部分:
printf("请输入你想要的线性表中那一项的元素:");
scanf_s("%d",&Temp);
if(OverFlow==GetElem(L,Temp,Result)) {printf("该表不存在\n");
break;}
if(OK==GetElem(L,Temp,Result)) printf("该空表中第%d项元素:%d\n",Temp,Result);
break;

问题是,
若这个函数参数改成如下,是否可行?若可行,对应主函数和子函数需做哪些更改?
int GetElem(Sqlist L,int i,int e)

不可以。e是函数的返回值,不用指针或者引用时不行的。如果非要改,就只能让函数的返回值取代e的功能。
温馨提示:答案为网友推荐,仅供参考
相似回答