用vs2013和vc++6.0做链表的时候遇到问题

各位顺便看看,抬手解决一下的问题
不知道是优学院的题目出错了,还是我打错了
错误显示是在题目那边的


#include<stdio.h>
#include"stdafx.h"
#include <stdlib.h> 
#include <string.h> 
struct empNode{                /* 职工结点 */
    char name[20];            /* 姓名 */
    int salary;                /* 基本工资 */
    struct emp_node *next;    /* 结点指针 */
};
int size = sizeof(struct empNode); /* 结点大小 */
int main()
{
    struct empNode *list, *p = NULL, *q = NULL, *tail = NULL;
    char name[20];
    int salary, n = 0; /* n: 计数器赋 0 */
    struct empNode * maxList(struct emp_node *list); /* 函数声明 */

    /* 建立链表 list */
    list = NULL; /* 设置链表为空表 */
    printf("输入姓名和工资(工资为 0,结束输入):\n");
    scanf("%s%d", name, &salary);
    while (salary != 0)
    {
        n++; /* 计数器加 1 */
        p = (struct empNnode *)malloc(size); /* 申请新结点 */
        strcpy(p->name, name); p->salary = salary; p->next = NULL;
        if (n == 1)list = p; else tail->next = p; /* 链入新结点 */
        tail = p; /* 尾指针后移 */
        scanf("%s%d", name, &salary);
    }

    /* 在两条星线间填入相应代码,调用 maxNode()函数查找链表中最高工资结点 */
    /**********************************************************************/
    q = empNode(list);

    /**********************************************************************/

    /* 输出查找结果 */
    printf("最高工资的职工信息:\n");
    printf("姓名:%s 工资:%d\n", q->name, q->salary);
    return 0;
}

struct empNode * maxList(struct empNode *list) /* 函数定义 */
{
    struct empNode *max = list, *p = list; /* max:指向最高工资结点  */

    /* 在两条星线间填入相应代码,查找链表中最高工资的职工信息   */
    /************************************************************/
    for (; p != NULL; p = p->next){
        if (max->salary < p->salary){
            max = p;
        }
    }


    /************************************************************/
    return max;
}

img

img

感觉有点儿乱,看看链表插入的知识点儿吧

struct empNode{                /* 职工结点 */
    char name[20];            /* 姓名 */
    int salary;                /* 基本工资 */
    //struct emp_node *next;    /* 结点指针 */   //这一行错了
    struct empNode *next;
};
//p = (struct empNnode *)malloc(size);  //26行错了
p = (struct empNode *)malloc(size);
//q = empNode(list);  35