Since you have given option D so you don't need the whole explanation of how this recursion works.
Why you didn't get that extra 0 is because you mistakenly thought that it is like:
if(x>0)
{
myfunc(--x);
print("%d",x);
}
But check the braces.. print statement is not inside the if block. So myfunc(0) will print that one extra 0.