Tags down


Why should we use return statement when using a recursive call?

By : Annie
Date : September 16 2020, 03:00 AM
wish help you to fix your issue While its return value is of type int, the function must return a value. Every place where it returns must return a value. When the recursive call made by the current function invocation returns, it gives you the answer; you must return that answer to the calling context — either the next level up the recursion chain or the original caller.
If you don't return a value, you invoke undefined behaviour, which is A Bad Thing!™
code :

Share : facebook icon twitter icon

Recursive method to return value only from the last recursive call

By : user2121295
Date : March 29 2020, 07:55 AM
like below fixes the issue You must return ProcessStream(stream.NextPosition) at the end of your function.
code :
public string ProcessStream(int streamPosition)
    var stream = GetStream(streamPosition);

    if (stream.Items.count == 0)
        return stream.NextPosition;

    foreach(var item in stream.Items) {

    return ProcessStream(stream.NextPosition)

Recursive function that return result from 'if' statement instead of 'else' statement

By : Julián Aloise
Date : March 29 2020, 07:55 AM
wish of those help I'm pretty new in Python and I'm trying to write a simple recursive function: , Wow wow, how tortured this is.
code :
def bugged_recursion(inp_value, list_index=0):
    # i don't get why you compare list_index here
    if list_index == 0:
        # you'll get an IndexError if list_index > len(inp_value)
        if inp_value[list_index] == 'valid':
            status = 'valid inp_value'
            status = 'invalid inp'
            # there is only one place where you increment list_index
            # i suppose there is something wrong here
            list_index +=1
            # you forgot to return here
            return bugged_recursion(inp_value, list_index=list_index)
        if inp_value[list_index] == 'valid':
            status = 'index {} is a valid inp_value'.format(list_index)
            status = 'index is never a valid inp_value'
    return (inp_value,status)
def no_recursion(inp_value):
    for i, val in enumerate(inp_value):
        # you probably have a good reason to test the index
        if i == 0:
            if val == 'valid':
                yield 'valid inp_value: %s' % val
                yield 'invalid inp: %s' % val
            yield 'index %s is %s valid inp_value' % (
                'a' if val == 'valid' else 'never'

print tuple(no_recursion(inp_value))

Recursive program reaches return statement, but jumps back to call in method

By : JackOfAllGames
Date : March 29 2020, 07:55 AM
Hope this helps Calling the recursive method doesn't terminate your method - you missed the return there. Once you've done that, as @pjs mentioned in the comments, you really have no need for a while loop - you just need a simple conditional statement:
code :
public static double randomRecursion(double a, double b, int i) {
    if (i > 0) { 
        b = ((1 / a) - a) * b;
        i = i - 1;
        // return was missing here
        return RandomRecursion(a, b, i);
    return b;

Recursive function landing in an infinite loop. Control will get back to funciton call even after return statement evalu

By : Elena Kirshanova
Date : March 29 2020, 07:55 AM
wish help you to fix your issue I am giving up on using recursive function, i came up with a solution using while loop
code :
 var LLeafParent = GetLastLeafLeft(ParentId);
                while (LLeafParent != null) // To return last node of tree which has null left child
                    var res = GetLastLeafLeft(LLeafParent);
                    if (res == null)
                    LLeafParent = res; // returns ID when it has a left node null
public string GetLastLeafLeft(string Id)
        var leftchildId = dbcontext.NMTrees.Where(ll => ll.UserID == Id).Select(tt => tt.LeftChildID).FirstOrDefault();
        return leftchildId;

If my recursive method return true, why it enters a recursive call?

By : user3332385
Date : March 29 2020, 07:55 AM
this will help Could it be that you are not using the value returned? eg in this part:
code :
if(x > arr[position][arr[position].length - 1]){
    exerciseSix(arr, x, ++position);
return false;
Related Posts Related Posts :
  • can not do copy of local variable to global variable C
  • Randomize a number in C within a range
  • Problem with struct when I split the functions from main
  • Why put struct inside structure without reference name
  • Are indexes easier to vectorize than pointers?
  • Thread 1: EXC_BAD_ACCESS (code=1, address=0x0) Xcode
  • What is the use of `_` before the formatted string?
  • Problem with distributing numbers between two tables
  • Undefined behaviour by declaration
  • Function for printing 2D arrays of uknown size in C
  • Having trouble creating a program that uses recursion
  • Char pointer NULL termination and memory allocation
  • Should functions that create structs return the struct or a pointer?
  • Why is my factorial program working but my almost identical pow program is not working?
  • How to ping /dev/watchdog from 2 processes?
  • STM32F103 GPIO Ports
  • "Resolution Failed! You application will not run, see the log for details"
  • What does if (variable) mean in C language?
  • The program returns some weird and incomplete string
  • wrong output while printing prime numbers in C
  • Why doesn't kernel clear the memory allocated by second malloc in a process?
  • why won't %s print from a linked list
  • Why do pipes have a limited capacity?
  • Program to find all indexes of element using pointers
  • Using strlen() with Array Integers or Float
  • Segmentation fault error. I am trying to parse the Payload and extract the value and return the value. What mistake i am
  • Accessing variable after an array by trying to access a position greater than its dimension in C
  • Simulate BASH arrow to get previous command
  • Scanf returns EOF unexpectedly
  • error: variable has initializer but incomplete type c
  • Array with arithmetic operator?
  • Pointer to a struct doesn't work until I create an unused variable with a default value
  • working with dates and times (struct tm) on arm embedded system using Zephyr RTOS
  • How to convert variadic arguments to array in C
  • how do i check if a number has only unique digits?
  • How do I free this structure in C?
  • Number of words in n strings read from a file
  • Delete whole binary tree from memory
  • Why is running Quake II as root stupid?
  • Multiplying/Adding Doubles returns Errors
  • ceil function in C
  • How to Fix Segmentation fault (core dumped) Error
  • Why is argv[argc] a pointer to NULL?
  • Why my program in c keeps looping and not storing values in memory?
  • Vectorize equality test without SIMD
  • Generating random numbers in conditions
  • Importance of '0' character and << operator in this program
  • How to debug a quadratic probing implementation for hash tables in C without using pointers?
  • Pointer to Pointer in c, getting unexpected value
  • "Permission denied" in open() function in C
  • How to assign an array of structs
  • Sort an Array of struct by a value of a field inside the struct
  • Implement stack with pointers in c
  • C program that goes through a string and flags for non-letters
  • C while statement in switch clause
  • Can we allocate memory for char * but return it as const char *?
  • How do Comma-separated expressions as condition in a for-loop work?
  • Sort Structs by the value of an attribute in it
  • How should I make users to put in the info that I want?
  • Are bitmask checks more efficient than comparing numbers?
  • shadow
    Privacy Policy - Terms - Contact Us © 35dp-dentalpractice.co.uk