红联Linux门户
Linux帮助

急:链表输出时出现的问题

发布时间:2009-11-06 13:30:36来源:红联作者:yqw1122
[i=s] 本帖最后由 yqw1122 于 2009-11-6 14:41 编辑 [/i]

//CreatList.c
#include
#include

typedef struct NODE{
struct NODE *next;
int n;
}node;
node *creat();
int main()
{
node *p;
p=creat();
while(p!=NULL)
{
printf("%d\n",p->n);
p=p->next;
}
return 0;
}

node *creat()
{
node *head=NULL,*new_node,*current;//new_node新建结点指针,current已经建立好的最后的结点的指针
printf("Begin to creat a list:\n");
current=new_node=(node*)malloc(sizeof(node));
scanf("%d",&new_node->n);
head=current;
int flag=1;
while(flag)
{
char c;
printf("do you go on?\n");
scanf("%c",&c);
if(c=='y')
{
new_node=(node*)malloc(sizeof(node));
current->next=new_node;
current=new_node;
scanf("%d",&new_node->n);
}
else if(c=='n') flag=0;
}
current->next=NULL;
return head;
}

编译成功了,运行时候出现如图的问题,总是出现两次“do you go on?“
很是郁闷,请各位编程高手给点建议
文章评论

共有 2 条评论

  1. yqw1122 于 2009-11-27 19:51:09发表:

    已经解决问题,在 printf("do you go on?\n");之后
    加getchar()
    就可以了

  2. yqw1122 于 2009-11-11 12:04:06发表:

    怎么没有人回答阿????