同一个程序在Devc++完美运行在visual上就一堆报错
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
//声明函数
struct Node* creat(void);
void travl(struct Node* pHead);
//创建一个简单的结构体
typedef struct Node {
int date;//数据域
struct Node* pNext;
}NODE, * PNODE;//NODE相当于struct Node,PNODE相当于struct Node *
int main()
{
PNODE pHead = NULL;//相当于定义了一个struct Node*类型的变量
pHead = creat();//creat_list创建一个非循环单链表,并将
travl(pHead);
return 0;
}
PNODE creat(void)
{
int len;//表示存放有效节点的个数
int i;
int val;//用来临时存放用户输入的节点的值
PNODE pHead = (PNODE)malloc(sizeof(NODE));//分配了一个不存放有效数据的头结点
if (pHead == NULL)
{
printf("分配失败,程序结束\n");
exit(0);
}
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("分配失败,程序结束\n");
exit(0);
}
/*pNew->date = val;
pHead->pNext = pNew;
pNew->pNext = NILL;*/
pNew->date = val;
pTail->pNext = pNew;
pNew->pNext = NULL;
pTail = pNew;
}
return pHead;
}
void travl(PNODE pHead)
{
PNODE p = pHead->pNext;
while (p != NULL)
{
printf("%d", p->date);
p = p->pNext;
}
printf("\n");
}
自己造一个简单链表
运行成功
#define _CRT_SECURE_NO_WARNINGS
加在程序头文件前面试试