構造体(struct)

/*
  Program    : struct.c
  Comment    : 構造体による閏年判断
*/

#include <stdio.h>

struct smp{
  int   day;
  int   month;
  int   year;
}date,*pdate;

isleap1(struct smp d){
  int r4,r100,r400;

  r4   = d.year % 4;
  r100 = d.year % 100;
  r400 = d.year % 400;

  return ( ((r4 == 0) && (r100 != 0)) || (r400 == 0) );
}

isleap2(struct smp *d){
  int r4,r100,r400;

  r4   = d->year % 4;
  r100 = d->year % 100;
  r400 = d->year % 400;

  return ( ((r4 == 0) && (r100 != 0)) || (r400 == 0) );
}

main(){
  date.day   = 24;
  date.month = 2;
  date.year  = 1900;

  printf("%4d年は閏年で%s\n",date.year,
        (isleap1(date) != 0)? "す。":"ない。");
  printf("%x %x %x\n",&date.day,&date.month,&date.year);

  printf("%4d年は閏年で%s\n",date.year,
        (isleap2(&date) != 0)? "す。":"ない。");
  printf("%x %x %x\n",&date.day,&date.month,&date.year);
}

/*************************************************************** Result
1900年は閏年でない。
480008 48000c 480010
1900年は閏年でない。
480008 48000c 480010
**********************************************************************/


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-05-28 (木) 12:36:29 (1608d)