struct studentNode *next
};
*/
这句后面没有分号,后面的注释只有 “ */ ” ,
struct studentNode *next;
};
/* */
----------------------
if(L==0)return null;
null一般没有定义,用NULL(包含#include
小写的null视编译环境,有时需要自己定义
if(L==0)return 0;
----------------------
if(L.next==0) return L.name;
L是指针,成员需要用->调用
if(L->next==0) return L->name;
------------------------
另外
char *oldest(struct studentNode *L)
/* 若L是空表,则返回空指针null
否则返回表中年龄最大者的名字
*/
{
没有返回处理后的结果
return p->name;
#include
#include
struct date
{
int year;
int month;
int day;
}; //定义日期结构体类型
struct student
{
char name[20];
struct date birth; //出生日期
};
bool operator>(struct date dLeft, struct date dRight)
{
bool bRet = false;
if (dLeft.year > dRight.year)
{
bRet = true;
}
else if (dLeft.year < dRight.year)
{
bRet = false;
}
else
{
if (dLeft.month > dRight.month)
{
bRet = true;
}
else if (dLeft.month < dRight.month)
{
bRet = false;
}
else
{
bRet = (dLeft.day > dRight.day) ? true : false;
}
}
return bRet;
}
char *oldest(student s[], int n)
{
struct student *pMax = &s[0];
int iPos = 0;
for (iPos = 0; iPos < n; iPos++)
{
if (s[iPos].birth > s[iPos + 1].birth)
{
pMax = &s[iPos];
}
}
return pMax->name;
}
int main(void)
{
struct date birthArry[] = {{1, 2, 3}, {1, 5, 3}};
struct student array[2];
strcpy(array[0].name, "ll");
array[0].birth = birthArry[0];
strcpy(array[0].name, "tt");
array[1].birth = birthArry[1];
printf("oldest(%s)\n", oldest(array, 2));
return 0;
}