the printf() might not be inside if(), but if() states the condition when partition() will be called (recusrsively).. so doesnt that make the printf() dependent on if() ?
It does, but you're thinking of things in the wrong order. When low and high are equal, the printf() still executes even though the contents of the if
statement do not.