小编Mic*_*lva的帖子

反向数字函数使用C中的递归

以下是一个函数,用于使用递归返回数字的反转.但是,它只返回数字的最后一位数字.我想知道为什么以及如何解决它?

int rev(int number)
{
      int revNum=0, sum=100;

      if(number<=9) return(number);
      else if(number>0) 
      {
           return(rev(number/10)+revNum);
           revNum=(number%10)*sum; sum=sum/10;

      }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!!!

c recursion reverse function

3
推荐指数
3
解决办法
2万
查看次数

C语言中递归二进制搜索算法的分段错误

这是一个带有递归二进制搜索算法的C程序,但是当我运行它时,调试器说二进制搜索功能中存在访问分段错误.为什么这样,我该如何解决这个问题?

这是递归二进制搜索功能:

int binSearch(int val, int numbers[], int low, int high)                 
{
     int mid;

     mid=(low+high)/2;
     if(val==numbers[mid])
     {  
                return(mid);          
     }   
     else if(val<numbers[mid])
     {
                return(binSearch(val, numbers, low, mid-1));               
     }            
     else if(val>numbers[mid])
     { 
                return(binSearch(val, numbers, mid+1, high));  
     }    
     else if(low==high)
     {
                return(-1);    
     }
}
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

c arrays recursion binary-search

0
推荐指数
1
解决办法
739
查看次数

标签 统计

c ×2

recursion ×2

arrays ×1

binary-search ×1

function ×1

reverse ×1