这是一个简单的程序,可以使用C在Linklist的末尾添加元素。

void main() {
    int i, n, x;
    struct Node* Head = NULL;
    struct Node* temp1;
    printf("Enter the no. of elements:");
    scanf("%d",&n);
    printf("\nEnter the elements:");
    for (i = 0; i < n; i++) {
        temp1 = Head;
        struct Node* temp = (Node*)malloc(sizeof(struct Node));
        scanf("%d", &x);
        temp->data = x;
        temp->next = NULL;
        if (Head != NULL) {
            while (temp1 != NULL) // This part is not working properly
            temp1 = temp1->next;
            temp1->next=temp;
        } else {
            Head = temp;
        }
    }
    temp1 = Head;
    while (temp != NULL) {
        printf("temp=%d tempdata=%d \n",temp,temp->data);
        temp = temp->next;
    }
}


while部分未将新元素与以前的元素链接。

最佳答案

改变中

while(temp1!=NULL)
    temp1=temp1->next;




while(temp1!=NULL && temp1->next != null)
    temp1=temp1->next;


应该解决这个问题;)

10-08 14:23