   About C basics....!
  Hallo every body. I am a beginer in the field of programing and hence asking here a very basic problem in C language. Please forgive me if this question looks you to be stupid. Here is my problem...Any function returns a value to another function which have called it, eg. Look at the following simple program-main() {   int a, fact;   printf("\nEnter any number");   scanf("%d",&a);   fact= factorial(a);   printf("Factorial Value= %d", fact); } factorial(int x) {   int f=1, i;   for(i=x;i>=1;i--)f= f*i;   return(f); }In this program, We have used a user defined function 'factorial'. The statement 'return(f)' tells the compiler to return the value of variable 'f' to the function 'main'.'main' is also a function, which also must return a value to something. This is my question that to whom the function 'main' returns value. If it is the O/S, then what the O/S does with this value? Further, we use a keyword 'void' before the function 'main' to tell the compiler to not to return any value by the function 'main'. What does this all mean???   
  Please don't cross-post.   