#include<stdio.h>
main()
{
struct x
{
int x;//定义学号
struct date//定义新的结构体
{
int year;//年
int month;//月
int day;//日
}a;
}stu1={1,.a={2001,1,3}},stu2={2,.a={2001,1,2}};/* .的意思是的(de),所以.a的意思和stu1的意思一样都是代表,而.a={}是给上面定义过的新的结构体中的年,月,日赋值 */
if(stu1.a.year==stu2.a.year)//这里进行判断如果年相等则进入a继续判断负责进行b的判断
{
if(stu1.a.month==stu2.a.month)//a 年相等了如果月也相等则进行下一个判断d 若不相等则进行f的判断
{
if(stu1.a.day==stu2.a.day)//d 如果年月日都相等则输出信息一样,不相等则继续进行e的判断
printf("信息一样");
else if(stu1.a.day>stu2.a.day)//e 如果年月相等但是stu1的天比stu2大则输出stu2的信息 若stu1的天比stu1小则输出stu1的信息
printf("%d,%d,%d",stu2.a.year,stu2.a.month,stu2.a.day);
else
printf("%d,%d,%d",stu1.a.year,stu1.a.month,stu1.a.day);
}
else if(stu1.a.month>stu2.a.month)//f 如果年相等而stu1的月份比stu2大则输出stu2的信息 否则输出stu1的信息
printf("%d,%d,%d",stu2.a.year,stu2.a.month,stu2.a.day);
else
printf("%d,%d,%d",stu1.a.year,stu1.a.month,stu1.a.day);
}
else if(stu1.a.year>stu2.a.year)//b 如果stu1的年份比stu2大则输出stu2的信息 否则输出stu1的信息
printf("%d,%d,%d",stu2.a.year,stu2.a.month,stu2.a.day);
else //c
printf("%d,%d,%d",stu1.a.year,stu1.a.month,stu1.a.day);
}
08-25