找回密码
 立即注册
查看: 484|回复: 5

菜鸟求问一个很初级的c程序问题

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:143
  • 最近打卡:2025-04-29 09:29:30

31

主题

148

回帖

982

积分

高级会员

积分
982
发表于 2024-9-29 11:42:56 | 显示全部楼层 |阅读模式
判断每个月有几天


  1. #include "stdio.h"
  2. /*
  3.         Filename:how_much_days_in_a_month.c
  4. */
  5. int leap_year(int year);
  6. int get_days(int year);
  7. void main(void){
  8.         int year,month;
  9.         year=2000;
  10.         month=2;
  11.         printf("In %d-%d,days amount:%d\n",year,month,get_days(year,month));
  12. }
  13. //判断是不是闰年
  14. int leap_year(int year){
  15.         int result=0;
  16.        
  17.         result=(year%400==0)||(year%100!=0 && year%4==0)?1:0;
  18.         return result;
  19. }
  20. //返回指定年月的天数
  21. int get_days(int year,int month){
  22.         int days_mount=0;
  23.         int is_leap_year=leap_year(year);
  24.        
  25.         switch(month){
  26.                 case 1:
  27.                 case 3:
  28.                 case 5:
  29.                 case 7:
  30.                 case 8:
  31.                 case 10:
  32.                 case 12:
  33.                         days_mount=31;break;
  34.                 case 4:
  35.                 case 6:
  36.                 case 9:
  37.                 case 11:
  38.                         days_mount=30;break;
  39.                 case 2:
  40.                         days_mount=is_leap_year?29:28;
  41.                         break;
  42.                 default:
  43.                         //printf("You input is error!\n");break;
  44.                         days_mount=3;break;
  45.         }
  46.         return days_mount;
  47. }
复制代码
报错
10        2        how_much_days_in_a_month.c        [Error] too many arguments to function 'get_days'


死活没看出来get_days函数怎么就多了参数了。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-9-29 12:53:36 来自手机 | 显示全部楼层
int get_days(int year,int month)这个是函数原型。和这个定义int get_days(int year);不一样。改一下吧。
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:512
  • 最近打卡:2025-05-01 09:14:27

21

主题

564

回帖

2674

积分

金牌会员

积分
2674
发表于 2024-9-29 13:55:41 | 显示全部楼层
  1. #include "stdio.h"
  2. /*
  3.         Filename:how_much_days_in_a_month.c
  4. */
  5. int leap_year(int year);
  6. int get_days(int year);
复制代码
定义的时候只有一个参数,

  1. printf("In %d-%d,days amount:%d\n",year,month,get_days(year,month));
复制代码
调用的时候给他了两个参数,

回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:518
  • 最近打卡:2025-05-01 05:52:49
已绑定手机

46

主题

1694

回帖

2540

积分

金牌会员

积分
2540
发表于 2024-9-29 14:15:06 | 显示全部楼层
这里不对
截图202409291414546711.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-9-29 14:19:57 | 显示全部楼层
调用的函数在当前函数下面,所以会往上找声明,声明不对就会报错
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:143
  • 最近打卡:2025-04-29 09:29:30

31

主题

148

回帖

982

积分

高级会员

积分
982
发表于 2024-9-29 15:34:06 | 显示全部楼层
感谢大家指正。
看来上岁数后,老眼昏花,脑子不好使是真的。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:52 , Processed in 0.218243 second(s), 84 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表