在程序中能否用指向结构体变量的指针来做形参

2025-04-24 11:16:00
推荐回答(1个)
回答1:

在程序中能否用指向结构体变量的指针来做形参?答:完全可以。
错在那里?答:很多简单错误,下面贴的已经改正并可运行(未检查算法是否正确)
#include
struct date //定义一个结构体
{
int year;
int month;
int day;
};
int main()
{
int days(struct date * p1); //调用函数
struct date a, *p = &a; //定义了一个结构体变量和指向该变量的指针
printf("输入年份,月份,日期:\n");
scanf("%d%d%d", &a.year, &a.month, &a.day);
printf("%d/%d is the %dth in %d", a.month, a.day, days(p), a.year);
return 0;
}
int days(struct date * p1)
{
int a = 0, day_sum[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}, i ;
for(i = 0; i < p1 -> month ; i++)
a = a + day_sum[i];
a = a + p1->day;
if((p1 -> year % 4 == 0 && p1 -> year % 100 != 0 || p1 -> year % 400 == 0)&&(p1 -> month > 3))
a += 1;
return(a);
}