what is the difference between recursion and iteration?

Iteration is (in essence) just looping.
Recursion is something going back into or calling itself.

Recursion can cause Iteration.

[Recursion vs. Iteration]
http://en.wikipedia.org/wiki/Recursion_(computer_science)#Recursion_versus_iteration

Iteration is like a while or for loop

``for (int i = 0; i < 100; i++)``

and recursion is a function calling itself for example:

``````using namespace std;

int function(int a) {
if (a == 100) {
cout << "\n\n\nResult reached! A = " << a;
return a;
}
else {
a++;
cout << "\nA is " << a;
return function(a);
}
}

int main() {
int i = 3;
cout << "A is " << i; //xD A is i
function(i);
return 0;
}``````

And I again forgot this is a C forum not C++ ! :( Use printf() instead of cout << (sorry!!)

recursion is calling a function itself..
and iteration is repeating a set of statements(block).

iteration is repeating a set of statements(block)

recursion is calling a function itself and in a function we have set of statements. does this means it is iteration??

recursion is calling a function itself and in a function we have set of statements. does this means it is iteration??

Do you think it's a basic question now? Muahahahaha!!! :D

Let's make it simple: Iteration is an explicit loop using one of C's loop constructs (for, while, do..while). Recursion is an implicit loop achieved by nested calls to the same function.

 goto may be used to simulate these or other styles of explicit loop.
 Recursion may be direct (function A calls itself) or indirect (Function A calls function B which calls function A).

Iteration is the repetition of a function or process in a computer program. Iterations of functions are common in computer programming, since they allow multiple blocks of data to be processed in sequence. This is typically done using a "while loop" or "for loop" (see the examples below). These loops will repeat a process until a certain number or case is reached. Recursive functions also use iteration, though instead of repeating a process, the entire function repeats itself.

Also notice important point of tail recursion elimination and accumulator pattern to understand how all iteration can be expressed by recursion (especially Lisp/Scheme and other functional programming languages and also in Prolog)

recursion is calling a function itself and in a function we have set of statements. does this means it is iteration??

not exactly..
using some iterative statements without a call to the same function in which the control is, can be called as iteration..