今天并没有怎么复习,但是对部分知识点做了一下回顾,还是发现了不少漏洞
1、定义数组时
static int arr[10];//数组中所有值为0
int arr[10];//数组中值随机
int arr[10]={0};//数组中所有值为0
int arr[10]={1};//数组中初第一个元素都为0
2、switch的参数可以为int、 short、 char 或者 byte,还有enum
3、关于const和宏定义的区别并没有掌握,详细见day9
今天改进了万年历,更好看了一点,嘿嘿嘿
void wannianli(int year,int month,int day){
int runyear=0,daycount=0;
int allmonth[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
if ((year%4==0&&year%100!=0)||year%400==0) {
runyear=1;
}
for (int i=1; i<=month; i++) {
daycount+=allmonth[runyear][i-1];
}
//daycount+=day;//一年中第几天
//printf("%d \n",daycount);
//printf("%d",year-1 + (year-1)/4 - (year-1)/100 + (year-1)/400);
int monthweek[allmonth[runyear][month]];
for (int i=0; i<allmonth[runyear][month]; i++) {
monthweek[i]=(year-1 + (year-1)/4 - (year-1)/100 + (year-1)/400 + daycount+i+1)%7;
}
printf("% d.%d\n",year,month);
printf("日\t一\t二\t三\t四\t五\t六\t\n");
if (monthweek[0]!=0) {
for (int i=0; i<monthweek[0]; i++) {
printf("\t");
}
}
for (int i=0; i<allmonth[runyear][month]; i++) {
if (monthweek[i]==0) {
monthweek[i]+=7;
}
printf("%d\t",i+1);
if ((monthweek[i])%6==0) {
printf("\n");
}
}
printf("\n\n");
}
nt main(int argc, const char * argv[]) {
@autoreleasepool {
wannianli(2015,7,24);
wannianli(2015,8,24);
wannianli(2015,9,24);
}
return 0;
}
是不是好看了很多