返回信息流#include <stdio.h>
#include <stdlib.h>
# include <malloc.h>
//定义节点
typedef struct Node
{
int data;
struct Node*pNext;
}NODE,*PNODE;
//函数声明
PNODE creat_list(void);
void traverse_list(PNODE pHead);
int main (void)
{
PNODE pHead = NULL;
pHead = creat_list();
traverse_list(pHead);
return 0;
}
PNODE creat_list(void)
{
int len;
int val;
int i;
PNODE pHead=(PNODE)malloc(sizeof(NODE));
if (pHead==NULL)
{
printf("分配失败 程序结束");
exit(-1);
}
PNODE pTail = pHead;
pTail->pNext = NULL;
printf("请输入要生成的链表中有效元素的个数:");
scanf("%d", &len);
for (i=0; i<len; ++i)
{
printf("请输入第%d个有效节点中数据域的值:", i+1);
scanf("%d", &val);
PNODE pNew=(PNODE)malloc(sizeof(NODE));
if (pNew == NULL)
{
printf("分配失败 程序结束");
exit(-1);
}
pTail->pNext = pNew;
pNew->data = val;
pNew->pNext;
pTail = pNew;
}
return pHead;
}
void traverse_list(PNODE pHead)
{
PNODE p = pHead->pNext;
while (NULL!=pHead)
{
printf("%d\n", p->data);
p = p->pNext;
}
return;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #93763同步于 2016/10/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C语言实现了一个链表 并且遍历链表程序编译不通过求指导
thuuwooh11
2016/10/22镜像同步16 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
把缩进调整一下,加上论坛支持的语法标亮。如果别的论坛用户读你的代码感觉舒服,倒是有可能会愿意看一看。
【 在 thuuwooh11 的大作中提到: 】
: 我知道 代码写的烂 但是我看不出错误 能帮忙看看嘛?
【 在 nuanyangyang 的大作中提到: 】
: 把缩进调整一下,加上论坛支持的语法标亮。如果别的论坛用户读你的代码感觉舒服,倒是有可能会愿意看一看。
:
这下易读了吧
好多了。但还有一些缩进问题。
其实,缩进是有工具可以帮你做的。可以让你的IDE(比如eclipse,msvc,intellij idea什么的)帮你缩进,也可以用命令行工具“indent”。
【 在 thuuwooh11 的大作中提到: 】
: 这下易读了吧
不是编译时错误,是运行时内存错误
第三行没必要
50行:pNew->pNext = NULL;
真正的错误在这里:
58行:while (NULL != p)
【 在 thuuwooh11 的大作中提到: 】
: [code=c]
: #include <stdio.h>
: #include <stdlib.h>
: ...................
50行58行?
【 在 qyz0123321 的大作中提到: 】
: 编译环境是什么?L50是干嘛的?
DEVc++ VC++ 6.0我都用 都没通过 今早好像发现错误了