
The function call is $\texttt{fun(3)}$.
In this function, one $\texttt{printf}$ is before the recursive call and one $\texttt{printf}$ is after the recursive call.
The first $\texttt{printf}$ runs while going down in recursion.
So, it prints:
$\texttt{3\ 2\ 1}$
Then $\texttt{fun(0)}$ is called, and the base condition becomes true.
Now the function calls start returning.
The second $\texttt{printf}$ runs while returning from recursion.
So, it prints:
$\texttt{1\ 2\ 3}$
The complete output is $\texttt{3\ 2\ 1\ 1\ 2\ 3}$
Answer: A