我正在尝试打印我在 C 中创建的链表,但打印顺序错误,我不明白为什么。我正在正确分配指针。有人可以帮我吗?这是我的代码:
struct list_el {
int val;
struct list_el * next;
};
typedef struct list_el item;
void main() {
item *curr, *head;
int value;
head = NULL;
scanf("%d", &value);
while (value != 0){
scanf("%d", &value);
curr = (item *)malloc(sizeof(item));
curr->val = value;
curr->next = head;
head = curr;
}
curr = head;
while (curr) {
printf("%d\n", curr->val);
curr=curr->next;
}
return 0;
}
最佳答案
scanf("%d", &value);
while (value != 0){
curr = (item *)malloc(sizeof(item));
curr->val = value;
curr->next = head;
head = curr;
scanf("%d", &value);
}
关于c - 以正确的顺序打印链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26821570/