我写的单链表为什么只能输入不能输出,求解

大帅哥成林酱 2017-06-24 08:13:54
#include<iostream> using namespace std; struct stu { int num; stu *next; }; stu *create() { stu *head,*p1,*p2; head=0; p1=new stu; p2=p1; cin>>p1->num; while (p1->num=-1) { if (head==0) head=p1; else p2->next=p1; p1=new stu; cin>>p1->num; } p2->next=0; delete p1; return head; } void print(stu *p) { stu *p0; p0=p; while (p0!=0) { cout<<p0->num<<" "; p0=p0->next; } } int main() { stu *p; p=create(); print(p); return 0; }
...全文
239 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zycxnanwang 2017-06-25
  • 打赏
  • 举报
回复
C语言不扎实。 C++刚入门。。。。
zycxnanwang 2017-06-25
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;

struct stu
{
	int num;
	stu *next;
};

stu *create()
{
	stu *head,*p1,*p2;
	head = NULL;
	
	p1 = new stu;
	cin >> p1->num;
	head = p1;
	p2 = p1;
	
	while (p1->num != -1)
	{
		p2->next = p1;
		p2 = p1;
		p1 = new stu;
	    cin >> p1->num;
	}
	
    p2->next = NULL;
    return head;
}

void print(stu *p)
{
	stu *p0;
	p0=p;
	while (p0 != NULL)
	{
		cout<<p0->num<<" ";
		p0=p0->next;
	}
}

int main()
{
	stu *p;
	p=create();
	print(p);
	return 0;
}

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧