No problem, your questions are fairly simple.

Explanations:

Problem 1 :
The factorial of n i.e. n! = n * (n-1) * (n-2) * . . . * 2 * 1
= n * (n-1)!
So, we get a recursive factorial relation.

Problem 2 :
The arguments are evaluated right to left :
Code: c++
f(++i , ++i );
So, first ++i (2nd arg) increases i to 6 and passes it as b.
The second ++i (1st arg) increases i to 7 and passes it as a.

Problem 3 :
Simple, just create a file output stream, check if the file creation failed, and finally, write the structure !