用c语言实现单向链表的输入和输出,我也不知道哪里出错了,用VS2010运行的结果是一闪而过

就是自己输入一串数据(整型),然后每输一个就按回车,我的想法是,当输入的数字为0的时候,自动停止输入,然后输出,可是每次在输入了一串数字后,输入0,按回车就自动跳出exe... 就是自己输入一串数据(整型),然后每输一个就按回车,我的想法是,当输入的数字为0的时候,自动停止输入,然后输出,可是每次在输入了一串数字后,输入0,按回车就自动跳出exe了。。也不输出了。。求大神。。帮忙找一下原因

#include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct Number)
struct Number{
int num;
struct Number*next;};
int n;
struct Number* creat(void)
{struct Number*head;
struct Number*p1,*p2;
int n=0;
p1=p2=(struct Number*)malloc(LEN);
scanf("%d",&p1->num);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Number*)malloc(LEN);
scanf("%d",&p1->num);}
p2->next=NULL;
return(head);
}
void print(struct Number*head)
{struct Number*p;
printf("刚才输入的数列按以下顺序出列");
p=head;
//if(head!=NULL)
do
{printf("%d",p->num);
p=p->next;
}while(p!=NULL);
}
void main()
{printf("请输入一组序列");
struct Number *head;
head=creat();
print(head);
}

如果输入的是
3
4
5
0
然后就一闪而过了
额。。//if(head!=NULL)。。把if前面的注释符号去掉。。运行结果也是一样的
展开
 我来答
wangpeng_520
2013-01-10
知道答主
回答量:20
采纳率:0%
帮助的人:8万
展开全部

我这边是可以的啊 

VC 

追问
用VC是就按我原来的代码就可以么。。
。我用的VS2010。。就不行。。坑爹的VS。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-10
展开全部
你没停住,程序运行后就没了。你当然看不见。你再后面加一句int a; cin>>a;

或者char c; c=getchar();

sytem("pause");
更多追问追答
追问
加了int a; cin>>a;之后会报错。。说cin是未定义标识符
追答
你没加头文件 #include 
你要是c语言的,你就加char c; c=getchar();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式