单链表练习为什么不进循环

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

单链表练习

问题相关代码,请勿粘贴截图

#include
#include
#define maxsize 10

typedef struct Lnode{
int data;
struct Lnode* next;
} Lnode, * Linklist;

Linklist InitLink(Linklist &L) {
int n; //输入数据的数量
int data; //输入的数据
Lnode* s;
L = (Lnode*)malloc(sizeof(Lnode));
L->next = NULL;
scanf("%d", &n);
scanf("%d", &data);
for (int i = 0; i < n; i++) {
s = (Lnode*)malloc(sizeof(Lnode));
s->data = data;
s->next = L->next;
L->next = s;

}

return L;

};

int main() {
Lnode L;
Linklist InitLink(Lnode * &L);
return 0;
}

运行结果及报错内容

没有输入数据,也没有进入循环

img

main函数中,Linklist InitLink(Lnode * &L);这是函数定义,不是函数调用啊,连函数都没调用,自然不可能进入什麽循环
改为InitLink(&L);

scanf("%d", &data);这个是不是应该放在循环里