## Recursion Using C

In c, it is possible for functions to call themselves. A function calling itself is called as recursion sometimes called as ‘circular definition’. It is the process of defining something in terms of itself.

void abc()
{
abc(); //Function abc is calling itself again and again this is recursion
}

int main()
{
abc();
}

Recursion is used in problems like TowerofHanoi, tree traversal like Inorder,Preorder,Postorder etc.

Lets take an example which uses recursion. The example below is classical example for understanding the concept of recursion.

#include<stdio.h>
#include<conio.h>
long rec(int x);
int main()
{
long Factorial=1;
int number=1;
printf(“Enter No. to Find Factorial\n”);
scanf(“%d”,&number);
Factorial=rec(number);
printf(“Factorial of %d is %ld\n”,number,Factorial);
return 0;
}
long rec(int x) //Recursive function for calculating factorial
{
int f
if(x==1)
return 1;
else
f=x*rec(x-1); //Here function calling itself
return f;
}

#### Understanding above Code

This program can be understood as follow for number = 3.

When we call function rec for x=3 it check is x equal to 1 no so it goes to else part and perform 3*rec(3-1). Now rec is again called for x=2 it again checks is is equal to 1 no so it goes to else part and perform 2*rec(2-1).Again rec is called for x=1 and finally here x is equal to 1 so it return 0 to the last function i.e., rec(2-1) becomes 1 and then multiply 2 to it goes to last function call i.e., rec(3-1) and it performs 3*2 = 6 and return it to main() hence function terminates here.

So we have seen here how a function call itself again and again untill a terminating condition is met here that condition is x equal to 1 or not once x becomes equal to 1 it backtracks to last function call.

Recursion uses stack because here the function which was called first was executed at the end i.e., in FIRST IN LAST OUT manner.

GATE

## LIKE Operator

The LIKE operator is used in a WHERE clause to search for a specified pattern in a column.

There are two wildcards used in conjunction with the LIKE operator:

1. The percent sign (%)
2. The underscore (_)

The percent sign represents zero, one or multiple characters and The underscore represents a single character.

Syntax:- SELECT column1, column2, … FROM table_name WHERE columnn LIKE pattern;

This SQL tutorial explains how to use the SQL LIKE condition (to perform pattern matching) with syntax, examples, and practice exercises.

In this example, we have a table called Employ with the following data:

Id Name Age
1 Sunil 30
2 SuNiL 330
3 Sunita 3
4 Vineet 20
5 Rahul 30
6 Rohan
7 R 320
8 Sn 40
9 Snp 60
10 Qrs 30
11 Psz 30
12 Ers 40
###### Coding

Example :- 1 Select Name from Employ where Name like ‘s’ ;

Solution :- It will select the name which contain value as s only but here there is no such value in column Name so it will output as NO ROWS SELECTED.

Example :- 2 Select Name from Employ where Name like ‘s_’ ;

Solution :- It will select the name which starts with ‘s’ and is 2 letter word and second position consist of any letter. Hence output will be as follow:-

Name
Sn

Example :- 3  Select Name from Employ where Name like ‘%s’ ;

Solution :- It will select the name which ends with ‘s’ and length may be zero or infinite.Hence output will be as follow:-

Name
Qrs
Ers

Example :- 4 Select Name from Employ where Name like ‘%s%’ ;

Solution :- It will select the name in which string consist of ‘s’.Hence output will be as follow:-

Name
Sunil
SuNiL
Sunita
Sn
Snp
Qrs
Psz
Ers

Example :- 5 Select Name from Employ where Name like ‘%s_’ ;

Solution :-It will select the string in which second last letter is ‘s’ and minimum length of string is 2.Hence output will be as follow:-

Name
Sn
Psz

Note:- These is very important topic as far as competitive coding, placements or GATE is concerned.So practice it as much as possible with various patterns and if anyone of you have any doubt let us know in the comment box below and if you have any other doubts regarding gate feel free to write to us.