//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?“
很是郁闷,请各位编程高手给点建议
yqw1122 于 2009-11-27 19:51:09发表:
已经解决问题,在 printf("do you go on?\n");之后
加getchar()
就可以了
yqw1122 于 2009-11-11 12:04:06发表:
怎么没有人回答阿????