指针例题1

利用指针返回多个函数值

 1 #include <stdio.h>
 2 void month_day(int year, int yearday, int *pmonth, int *pday);
 3 
 4 int main(void)
 5 {
 6     int day, month, year, yearday;
 7     printf("input year and yearday:");
 8     scanf("%d %d", &year, &yearday);
 9     month_day(year, yearday, &month, &day);
10     printf("%d-%d-%d\n", year, month, day);
11 
12     return 0;
13 }
14 void month_day(int year, int yearday, int *pmonth, int *pday)
15 {
16     int k, leap;
17     int tab[2][13] = {
18         {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
19         {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
20     };
21 
22     leap = ((year / 4 == 0) && (year / 100 != 0)) || (year % 400 == 0);
23 
24     for (k = 1; yearday > tab[leap][k]; k++)
25     {
26         yearday -= tab[leap][k];
27     }
28 
29     *pmonth = k;
30     *pday = yearday;
31 }

猜你喜欢

转载自www.cnblogs.com/2018jason/p/12044625.html
今日推荐