下面这个程序 不知道在函数处出现了什么问题
下面带颜色的地方;系统提示:miss";"befor type
'j':undeclared identifier
当我把主函数的指针名字该成其他的时候例如 pointer,另一个函数中的指针p就不管用总感觉int panduan(struct time*p)中对p的定义根本没起作用
#include "stdio.h"
int mon1[]={31,28,31,30,31,30,31,31,30,31,30,31},
mon2[]={31,29,31,30,31,30,31,31,30,31,30,31};
main()
{int panduan(struct time*);
struct time
{int year;
int month;
int day;
};
struct time n;int i,sum=0;
struct time*p;
p=&n;
printf("请输入年月日:");
scanf("%d%d%d",&p->year,&p->month,&p->day);
if(panduan(p));
{if((*p).year%4==0&&(*p).year%100!=0||(*p).year%400==0)
for(i=0;i<(*p).month;i++)
{if(i!=0)
sum=sum+mon2[i];
sum=sum+(*p).day;}
else
for(i=0;i<(*p).month;i++)
{if(i!=0)
sum=sum+mon1[i];
sum=sum+(*p).day;}
printf("这是%d年的第%d天!\n",p->year,sum);
}
int panduan(struct time*p)
{int j;
if(p->month>12||p->month<1)
{printf("月分输入错误!\n");j=0;}
else
if(p->year%4==0&&p->year%100!=0||p->year%400==0) //判断闰年//
if(p->day<=0||p->day>mon2[p->month-1])
{printf("%d年%d月没有这一天!\n",p->year,p->month);
j=0;}
else j=1;
else
if(p->day<=0||p->day>mon1[p->month-1])
{printf("%d年%d月没有这一天!\n",p->year,p->month);
j=0;}
else j=1;
if(j)
return(1);
else
return(0);
}
[[italic] 本帖最后由 llp108 于 2008-1-1 21:52 编辑 [/italic]]