【发布时间】:2015-05-21 20:29:33
【问题描述】:
我在链表末尾插入数据时遇到问题。我已经尝试了一切,但没有任何帮助。它只显示第一个和最后一个 no,但显示中间的数字。
以下是我的代码。
struct node
{
int data;
struct node *next;
} *start;
add()
{
int a,b,c=0;
scanf("%d",&a);
struct node *new,*new1;
new=(struct node *)malloc(sizeof(struct node));
new1=(struct node *)malloc(sizeof(struct node));
while(a!=0)
{
c=a%10;
a=a/10;
if(start==NULL)
{
new->data=c;
start=new;
printf("%d\n",start->data);
}
else
{
new1->data=c;
new->next=new1;
new=new->next;
}
}
new->next=NULL;
}
【问题讨论】:
-
add()-->void add() -
如何插入节点?请尝试创建Minimal, Complete, and Verifiable Example。
-
@Ravi:将用户输入的获取和插入到链表中分离出来是一个非常好的主意。
-
另外,学习使用调试器并逐行逐行执行代码,它将极大地帮助您。
标签: c linked-list