C语言实现线性列表
#include <stdio.h>
#include <stdlib.h>
typedef struct student
{
int score;
struct student *next;
}LinkList;
LinkList *create (int n)
{
LinkList *head, *node, *end;
head = (LinkList *)malloc(sizeof(LinkList));
end = head;
for(int i = 0; i < n; i++)
{
node = (LinkList *)malloc(sizeof(LinkList));
scanf("%d", &node->score);
end->next = node;
node = end;
}
end->next = NULL;
return head;
}
void change (LinkList * list, int n)
{
LinkList *t = list;
int i = 0;
while(i < n && t != NULL)
{
t = t->next;
i++;
}
if(t != NULL)
{
puts("inout: ");
scanf("%d", &t->score);
printf("change successful");
}
else
{
puts("没有此结点!");
}
}
int main(int argc, char const *argv[])
{
LinkList *L;
L = create(5);
change(L, 3);
return 0;
}
=====================
问题描述:
change函数这里有问题,输入值的时候就结束了。
请问我写的main函数的代码由没有错误。