|
C에 있는 기능에 구조 통과
구조는 기본 자료 유형의 무엇이든으로 기능에 매개변수로, 다만 통과될지도 모른다. 뒤에 오는 보기는 년이 윤년인지 결정하기 위하여 isLeapYear 기능에 통과되는 있는 불린 구조를 날짜 이용한다.
일반적으로 당신은 일 가치를 통과할 것이나, 전체 구조는 기능에 서만 구조 통과 설명하기 위하여 통과된다.
#include <stdio.h>
#include <string.h>
struct month
{
char *name;
char *abbreviation;
int days;
} month_details[] =
{
"Junk", "Junk", 0,
"January", "Jan", 31,
"February", "Feb", 28,
"March", "Mar", 31,
"April", "Apr", 30,
"May", "May", 31,
"June", "Jun", 30,
"July", "Jul", 31,
"August", "Aug", 31,
"September", "Sep", 30,
"October", "Oct", 31,
"November", "Nov", 30,
"December", "Dec", 31
};
struct date
{
int day;
int month;
int year;
};
int isLeapYear(struct date d);
int main()
{
struct date d;
printf("Enter the date (eg: 11/11/1980): ");
scanf("%d/%d/%d", &d.day, &d.month, &d.year);
printf("The date %d %s %d is ", d.day,
month_details[d.month].name, d.year);
if (isLeapYear(d) == 0)
printf("not ");
puts("a leap year");
return 0;
}
int isLeapYear(struct date d)
{
if ((d.year % 4 == 0 && d.year % 100 != 0) ||
d.year % 400 == 0)
return 1;
return 0;
}
그리고 프로그램의 실행은 다음과 같이 일 것이다:
Enter the date (eg: 11/11/1980): 9/12/1980
The date 9 December 1980 is a leap year |
|
|