同一个程序在Devc++完美运行在visual上就一堆报错

问题遇到的现象和发生背景

同一个程序在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");
}

运行结果及报错内容

img

我的解答思路和尝试过的方法

自己造一个简单链表

我想要达到的结果

运行成功

#define _CRT_SECURE_NO_WARNINGS

加在程序头文件前面试试