gpt4 book ai didi

c - 在双向链表的末尾插入

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:49 24 4
gpt4 key购买 nike

我只能查看输入的第一个元素。代码如下:

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

typedef struct d_list{
int data;
struct d_list *next;
struct d_list *prev;
}node;

//不递归调用插入函数。

typedef node *list;
main(){
printf("Enter data(y/n)?");
char ch;
scanf("%s",&ch);
int n;
list head;
list temp;
list tail;
head=tail=temp=NULL;
if(ch=='y'||ch=='Y'){
printf("Enter data");
scanf("%d",&n);
temp=(list)malloc(sizeof(node));
temp->data=n;
temp->next=temp->prev=NULL;
head=temp;
tail=temp;
}
printf("Enter more data..?(y/n)");
scanf("%s",&ch);
while(ch=='y'||ch=='Y'){
printf("Enter data");
scanf("%d",&n);
temp=(list)malloc(sizeof(node));
temp->data=n;
temp->prev=tail;
temp->next=NULL;
tail->next=temp;
tail=temp;
printf("Enter more data..?(y/n)");
scanf("%s",&ch);
}

temp=head;
while(temp!=NULL){
printf("%d",temp->data);
temp=temp->next;
}
getch();
}

我想按输入顺序显示所有输入。这里有什么问题?

最佳答案

您的代码逻辑是正确的,但错误在于:make scanf("%s",&ch); as scanf("%c",&ch);

关于c - 在双向链表的末尾插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31956704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com