As per the question, the function convert needs to be called with a positive integer n as argument.
So, when a positive int is passed as argument, function will compute(n/2) which will return the quotient of integer division.
Again this result of integer division will be passed through compute(n/2) and so on. Each time the no will be divided by 2 and will gradually become smaller and smaller and close to 0 but it will never be less than 0 .
Hence the prog will not print anything ( as after every function call, the value returned is greater than 0) and will not terminate.
PS: Being a C function and hence when run on a computer each recursive call will require creation of activation record consuming memory space. So, eventually the stack memory will run out and program terminates. But such an option is not there. D is the best option here - can see if GATE gives Marks to All.