oracle plsql in list作为参数怎么传

oracle plsql in list作为参数怎么传,第1张

假设第一个参数为in参数,每二个参数为out参数:

variable

x

number;

//定义一个绑定变量

exec

过程(1,:x)

//1为输入参数,x为输出参数,过程执行后x就得到输出值了。

print

x

//看结果

def remove_section(alist,start,end):

if start > len(alist):

# 开始位置越界返回原串

return alist[:]

elif end > len(alist):

# 结束位置越界

return alist[:start]

else:

a = alist[:start]

aextend(alist[end:])

return a

你这代码有以下错误要改:

onlist(Sqlist L,int len)函数中,

1、if(len+n>=MAXSIZE)要改成if(len+n>=MAXSIZE && n>len+1)

顺序表不光数组不能越界,也不能跳越赋值,比如当前len是3,那么你最多只能赋值第4个元素,不能直接赋值第5个元素。

2、for(j=len-1;j>point-1;j--)要改成for(j=L->length-1;j>=point-1;j--)。

len是最初传递进来的长度,而你在循环中每次长度都在自增,所以不能用len(其实你所有函数都没必要传len,因为已经把结构传递进来了)

>要改成>=,否则point-1位置的元素就没有移位。少了一次移位。

3、putlist(&L,L->length);要改成putlist(L,L->length);

这里L已经不是结构体变量了,而是结构指针。

#include <stdioh>

#include <stdlibh>

#define MAXSIZE 100

typedef int Elemtype;

typedef struct Sqlist

{

  Elemtype data[MAXSIZE];

  int length;

}Sqlist;

void inlist(Sqlist L,int len);

void putlist(Sqlist L,int len);

void onlist(Sqlist L,int len);

int main()

{

  Sqlist L; Llength=0;

  int len,i,j;

  printf("请输入线性表长度:");

  scanf("%d",&len);

  inlist(&L,len);

  putlist(&L,len);

  onlist(&L,len);

}

void inlist(Sqlist L,int len)

{

  int i;

  if(len<1||len>MAXSIZE)

      printf("输入不规范");

  else

  {

      printf("输入元素:");

      for(i=0;i<len;i++)

          scanf("%d",&L->data[i]);

      L->length=len;

  }

}

void putlist(Sqlist L,int len)

{

  int i;

  printf("所输入的元素为:");

  for(i=0;i<len;i++)

      printf("%d ",L->data[i]);

}

void onlist(Sqlist L,int len)

{

  int n,i,j,point;

  printf("\n插入个数:");

  scanf("%d",&n);

  if(len+n>=MAXSIZE && n>len+1)

      printf("插入失败!\n");

  else

  {

      printf("插入成功!\n");

      for(i=0;i<n;i++)

      {

          printf("\n插入的第%d个数的位置:",i+1);

          scanf("%d",&point);

          printf("\n插入的数是:");

          // for(j=len+n;j>point-1;j--)

          for(j=L->length-1;j>=point-1;j--)

              L->data[j+1]=L->data[j];

          scanf("%d",&L->data[point-1]);

          (L->length)++;

          putlist(L,L->length);

      }

  }

}

以上就是关于oracle plsql in list作为参数怎么传全部的内容,包括:oracle plsql in list作为参数怎么传、python 移除list里的元素、关于C语言的顺序表 插入功能完成后不能输出正确数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9700514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存