各位顺便看看,抬手解决一下的问题
不知道是优学院的题目出错了,还是我打错了
错误显示是在题目那边的
#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;
}
感觉有点儿乱,看看链表插入的知识点儿吧
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行