日期问题NextDay()
#include <stdio.h>
using namespace std;
void NextDay(int &year,int &month,int &day){ //引用,NextDay函数中的三个值发生改变时,main函数中的三个值也改变
//相当于直接访问main函数中的三个值,
//&出现在定义或形参当中,表示引用的意思;出现在其他位置,表示取地址
//存储一下月份和天数的关系(数组)
int dayOfmonth[]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
//是否是闰年
bool isLeap;
isLeap= year%400==0||year%100!=0&&year%4==0;
if(isLeap){
dayOfmonth[2]=29;
}
++day;
if(day>dayOfmonth[month]){
day=1;
month++;
}
if(month>12){
month=1;
year++;
}
printf("NextDay year=%d month=%d day=%d\n",year,month,day);
}
int main(){
int year=1900;//1900不是闰年,2020是闰年
int month=2;
int day=28;
NextDay(year,month,day);
//printf("main year=%d month=%d day=%d\n",year,month,day);
return 0;
}
王道机试指南 文章被收录于专栏
这个专栏是参考王道机试指南中相关的练习题哦