Home » Programming » Languages » Story Details
Printable Version

Recursion in C

by Manish Tewatia on Jan 07, 2012

In normal procedural languages one can go about defining functions and procedures, and 'calling' these from the 'parent' functions. I hope you already know that Some languages also provide the ability of a function to call itself this is called Recursion.
Comments: 0    Views: 217

Introduction

In normal procedural languages one can go about defining functions and procedures, and 'calling' these from the 'parent' functions. I hope you already know that Some languages also provide the ability of a function to call itself this is called Recursion. Recursion is the process of repeating items in a self-similar way. For instance when the surfaces of two mirrors are exactly parallel with each other the nested images that occur are a form of infinite recursion. The term has a variety of meanings specific to a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathematics and computer science in which it refers to a method of defining functions in which the function being defined is applied within its own definition. Recursion is the process a procedure goes through when one of the steps of the procedure involves invoking the procedure itself. A procedure that goes through recursion is said to be 'recursive'.

Example: Through a recursion multiply of a numbers.

Code

#include<stdio.h>
int multiply(int,int);
int main(){
   
int a,b,product;
    printf(
"Enter any two integers: ");
    scanf(
"%d%d",&a,&b);
    product = multiply(a,b);
    printf(
"Multiplication of two integers is %d",product);
   
return 0;
}
int multiply(int a,int b){
   
static int product=0,i=0;
   
if(i < a){
         product = product + b;
         i++;
         multiply(a,b);
    }
   
return product;
}

Output:  Enter any two integers: 5 8
            Multiplication of two integers is 40

Post a Comment
*
DevExpress PowerBuilder Web Development Windows Development Languages Software Engineering Databases
iPhone Architecture Secutiry UML & Modeling Operating Systems Networking Testing
Graphics Design Project Management Hardware Open Source Games Development Business Intelligence Visual Studio LightSwitch 2011
MonoDevelop Visual Studio 2010 ASP.NET HTML, DHTML XML PHP JavaScript
Silverlight Web Services WCF Windows Forms WPF Windows Services Dynamic Link Libraries
ActiveX COM, DCOM, ATL C# VB.NET C++ F# Java
Pascal SQL Server Oracle DB2 MS-Access Windows Servers Windows
Linux Unix SAP LINQ .NET Framework ADO.NET Reporting
Crystal Reports SQL Server Reporting Services Igenda Reports Active Reports Adobe Fireworks Arrays & Collections Hosting
Future Trends Android Windows Phone Smart Devices Business M&A Investment & Funding
Web Browsers Internet Explorer Firefox Safari Common Entrepreneurs Students
Consulting Wiki Gadgets MobileMe iCloud iOS Social Media
Facebook Twitter LinkedIn Google+ Microsoft Kinect XBox
Wii Playstation DirectX i OS OS X CIO, CTO, CEO Windows 8
Web Design Expression Blend 4 Photoshop CS5 Creative Suite 5.5 Expression Web 4 Expression Studio 4 Creative Suite® 5.5 Design
Creative Suite 5.5 Web Creative Suite 5.5 Production Startups Funding M&A Laptops Smart Phones
Desktops Cameras & Camcorders Netbooks Tablets Virtualization Microsoft Surface WordPress
Software Products Cloud Computing Current Affairs Technology TV TV
Earnings XAML E-Commerce MonoTouch Mono for Android Deals Electronics
Mobile Phone Laptop Tablet Book Computer Press Releases Reviews
Products Books Companies Windows Azure SQL Azure Interviews Mac
Web Browsers Symbian Windows Forms WPF Windows Services HTML 5 Office 365
SharePoint 2010 Exchange Server Adobe Visual Studio 2012 iPad Flex / Flash Games
Windows 9
X
 Login
Please login to submit a new post, reply and edit exiting posts, see user profiles, and access more features. If you are not a registered member, Register here.
User Id / Email:
Password:  
Forgot Password | Forgot UserName