鏈表,在我想在begining添加開始時 添加元素,但它只能接受第一個元素,然後 treminate 它不接受其他元素什麼是錯用while循環什麼問題呢?這個代碼不鏈表的開頭插入元素
#include <stdio.h>
typedef struct node_type {
int data; struct node_type *next;
} node;
typedef node* list;
void main() {
list head,temp; int n; char ch;
head = NULL;
printf("\n Enter the data:(y/n):");
scanf("%c", &ch);
while (ch == 'y' || ch == 'Y') {
printf("\n Enter Element:");
scanf("%d", &n);
temp = (list) malloc(sizeof(node));
temp->data = n;
temp->next = head;
head = temp;
printf("\n Enter more data:");
scanf("%c", &ch);
}
temp = head;
while (temp != NULL) {
printf("%d", temp->data);
temp = temp->next;
}
}
請注意,執行'fflush(stdin)'是* undefined behavior *。一些「標準」庫將其添加爲擴展名,但如果可能的話避免它。 –
你做了什麼調試? –
由於缺少標點符號,無法解析問題...... *嘆*。我覺得這是... – alk