菜鸟求问一个很初级的c程序问题
判断每个月有几天#include "stdio.h"
/*
Filename:how_much_days_in_a_month.c
*/
int leap_year(int year);
int get_days(int year);
void main(void){
int year,month;
year=2000;
month=2;
printf("In %d-%d,days amount:%d\n",year,month,get_days(year,month));
}
//判断是不是闰年
int leap_year(int year){
int result=0;
result=(year%400==0)||(year%100!=0 && year%4==0)?1:0;
return result;
}
//返回指定年月的天数
int get_days(int year,int month){
int days_mount=0;
int is_leap_year=leap_year(year);
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days_mount=31;break;
case 4:
case 6:
case 9:
case 11:
days_mount=30;break;
case 2:
days_mount=is_leap_year?29:28;
break;
default:
//printf("You input is error!\n");break;
days_mount=3;break;
}
return days_mount;
}
报错
10 2 how_much_days_in_a_month.c too many arguments to function 'get_days'
死活没看出来get_days函数怎么就多了参数了。
int get_days(int year,int month)这个是函数原型。和这个定义int get_days(int year);不一样。改一下吧。 #include "stdio.h"
/*
Filename:how_much_days_in_a_month.c
*/
int leap_year(int year);
int get_days(int year);定义的时候只有一个参数,
printf("In %d-%d,days amount:%d\n",year,month,get_days(year,month));调用的时候给他了两个参数,{:4_200:}
这里不对 调用的函数在当前函数下面,所以会往上找声明,声明不对就会报错 感谢大家指正。
看来上岁数后,老眼昏花,脑子不好使是真的。{:4_199:}{:4_167:}
页:
[1]