做单链表 然后设断点调试明明输入了数据但是无论怎么 L->next都是空的xishu 和 zhishu 也输不进去

问题遇到的现象和发生背景

我做单链表 然后设断点调试明明输入了数据但是无论怎么 L->next都是空的

表头表头表头表头
单元格单元格单元格单元格
单元格单元格单元格单元格
单元格单元格单元格单元格
单元格单元格单元格单元格
xishu 和 zhishu 也输不进去
问题相关代码,请勿粘贴截图

typedef struct LNode {
public:
int zhishu;
int xishu;
LNode* next;
} LNode, * LinkList;
void CreateListR(LinkList& L) {
LNode* p= new LNode;
LinkList r;
r = L;
while (cin.get() == '\n')
{
cin >>p->xishu>> p->zhishu;
p->next = NULL; r->next = p;
r = p;
}
}

运行结果及报错内容

这是设了断点在运行了这个函数后,运行前L是空的单链表

  •    L    0x014ad5f8 {zhishu=-842150451 xishu=-842150451 next=0xcdcdcdcd {zhishu=??? xishu=??? next=??? } }    LNode * &
    
我的解答思路和尝试过的方法
我想要达到的结果

能把数据输进去就好

输入函数修改如下,供参考:

typedef struct LNode {
public:
     int zhishu;
     int xishu;
     LNode* next;
} LNode, * LinkList;
void CreateListR(LinkList& L) {

     LinkList r;
     r = L;
     while (1)
     {
           LNode* p= new LNode;
           cin >>p->xishu>> p->zhishu;
           p->next = NULL;
           r->next = p;
           r = p;
           if (cin.get() == '\n') break;
     }
}