学习小结

来源:互联网 发布:推背图的骗局 知乎 编辑:程序博客网 时间:2024/06/10 19:17

#include<stdio.h>

 

struct date    //struct是数据体,将一些有共同特征(比如同属某一类事物的属性)的变量封装在内部,通过一定方法访问修改内部变量

{

   int year;

   int month;

   int day;

};

 

main()

{

   struct date now,term;

   int ago,year,day;

   printf("today is year/month/day : ");

   scanf("%d %d %d",&now.year,&now.month,&now.day);

   term.month = 12;

   term.day = 31;

   for( ago = 0,year = 1990; year<now.year; year++)

    {

       term.year = year;

       ago += f(term);

    }

ago += f(now);

day = ago%5;

   if( day >= 1 && day <= 3 )

        printf("he is fishing.\n");

   else

       printf("he is sleeping.\n");

}

 

f(struct date day)

{

   static int day_tab[ 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},};

//静止修饰符

int i,j;

    i= day.year%4 == 0 && day.year%100 != 0 || day.year%400 == 0;

   for( j = 1; j<day.month; j++)

       day.day += day_tab[ i ] [ j ];

   return (day.day);

}

static:
此处static为内部函数。如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static 函数类型 函数名(函数参数表){……}
此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
struct:
“结构”是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:

struct date    

{

      int year;

      int month;

      int day;

};

而结构内也可以由不同数据类型组成,如:

struct stu

{

    char name;

    int number;

}

       在调用时,以第二个例子为例,stu.name为char型,stu.number为int型。
1 0