In first iteration of for loop, value assigned to var i of type char is 'int' value 0. While executing the switch statement, value of i is still int 0(as the operator is port-incremental). Since '0' (char) and 0 (int) are not the same, control exists from the switch block as there is no matching case statement. And since, the switch statement contains the post-incremental operator, value of i is 1 now. At the end of the first iteration of for loop, i is again incremented by 1(update clause of for loop). Which means, in the second iteration value of i is 2(int) - hence printing "C". In third iteration, value of i is 4(int), hence printing "E" and since there is no break statement, it executes the next statement as well, hence printing "F" too.
Hence, you get the output -
Debugging the code will give you insight into how control flows.