bool函数忘记写return(false)会怎样

本文通过一个具体的编程实例,探讨了在程序设计中对于函数返回值的理解误区,并详细解释了一个涉及递归调用的布尔类型函数的具体实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://hi.baidu.com/pope123/item/9d473e7f3ea341376f29f674

这篇文章用汇编告诉了我返回值有可能是true也可能是false,但我看不懂,以后攻。  我为什么会接触到这个问题,请看实际例子:

原来我漏写了代码中有颜色的两条语句,发现程序运行结果出乎我的意料。 我原来以为不写就是默认返回false。其实  bool  work()原来是void work()

bool work(int x,int y,int z)
{
 int i;
 if (y==9)
  x++,y=0;
 if (x==9)
 {
  ans=z;
  return(true);
 }
 if (table_for_solve[x][y])
    {
     if(work(x,y+1,z+table_for_solve[x][y]*h[x][y]))
      return(true);
     else return(false);    
    }
 else
 {
  for (i=1;i<=ss;i++)
   if (!b[x][i]&&!c[y][i]&&!d[x/s*s+y/s][i])
   {
    table_for_solve[x][y]=i;
    make(x,y,i,1);
    if(work(x,y+1,z+i*h[x][y]))
     return(true);
    make(x,y,i,0);
   }
  table_for_solve[x][y]=0;
  return(false);
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值