m0_63670854 2021-11-02 17:59 采纳率: 100%
浏览 16
已结题

请各位兄弟看一下,我这代码哪里逻辑错了,还有就是为啥总是出现使用了未初始化变量的值

int com(int y,int m)
{
int d;
switch (m)
{
int d;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: d = 31; break;
case 4:
case 6:
case 9:
case 11:d = 30; break;
case 2:
if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
d = 29;
else
d = 28;
break;
}
return d;

}
void main()//给定年数和月份,判断该月对于应的天数,闰年的话2月为29天,平年为28天
{
int y,m, d;
scanf("%d%d", &y, &m);
d= com(y, m);
printf("%d\n", d);
}

  • 写回答

1条回答 默认 最新

  • bec_better 2021-11-02 18:08
    关注

    了解下 作用域的东西吧。。直接把里面那个int d删去就行了。外面的那个int d在函数域有效,里面的int d并没有修改外部的d值,返回一个未初始化的变量,肯定告错。。其他地方没细看 。。 变量不要重复定义 而且 最好不要定义太多同名变量

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 ecplise在连接数据库时显示加载驱动成功但是数据库连接失败
  • ¥15 visionmaster启动失败,提示为“机器不满足授权而被禁用”
  • ¥50 用logisim设计16位单时钟周期cpu
  • ¥15 IDEA中圈复杂度如何具体设置
  • ¥50 labview采集不了数据
  • ¥15 Multisim红外倒车雷达仿真中距离问题
  • ¥15 请上面代码做什么处理或什么混淆
  • ¥15 英雄联盟自定义房间置顶
  • ¥15 W5500网线插上无反应
  • ¥15 如何用字典的Key,显示在WPF的xaml中