461 views
0 votes
0 votes

#define LIMIT 1000

void fun2(int n)

{

  if (n <= 0)

     return;

  if (n > LIMIT)

    return;

  printf("%d ", n);

  fun2(2*n);

  printf("%d ", n);

}  

Will it be non terinating recursion if n is negative,if so then why?

1 Answer

0 votes
0 votes
If you pass any value less then equals to 0 then it will terminate in the starting condition if( n <= 0 ) return as well as it terminates for value larger then limit (i.e 1000 ).

Related questions

0 votes
0 votes
2 answers
1
Debargha Mitra Roy asked Apr 10
97 views
What is the output of the below code?#include <stdio.h void main() { static int var = 5; printf("%d ", var ); if (var) main(); }a. 1 2 3 4 5b. 1c. 5 4 3 2 1d. Error
3 votes
3 votes
3 answers
2
Laxman Ghanchi asked May 19, 2023
1,154 views
#include<stdio.h void print(int n) { printf("Hello "); if(n++ == 0) return ; print(n); n++; } int main() { void print(); print(-4); }How many times printf execute?? And H...
0 votes
0 votes
1 answer
3
Laxman Ghanchi asked May 19, 2023
682 views
#include<stdio.h>void print(int n){ printf("Hello "); if(n++ == 0) return ; print(n); n++;}int main(){ void print(); print(-4);}