显示链表中的全部元素

我前面随即插入的数为42,68,35,1,70,25,79,59,63,65,6,46,82,28,62
但是调用显示全部函数时显示一直是62
代码如下:
//显示链表中所有元素

int ShowElem(Linklist &L,int e){
      Linklist p;
      p=L->next;
      printf("iiiiiiiiiiiiiii\n");
      while(p){
         printf("链表中所有元素显示如下\n");
         for(int i=0;i<L->length;i++){
               printf("%d  %d\n",i+1,p->data;
}
break;
}
}


![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/948648249736158.png "#left")

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果