Put c inside a finally block and it will execute. It will never execute as is since you are returning from the try block. The sequence in this case would be:
-check for exception thrown (if so, execute any relevant catch block)
-look for & execute finally block
-if no execption was thrown, return
So, any code after the return in the try block will NOT execute, unless its inside a finally block, in which case it will always execute (except for in the case of power loss, System.exit. etc.).
I think the difficulty you are having here also requires you to fully understand what the return key
word means. Read a bit more about this and experiment with what happens when you place a return statement inside a method at various points.
------------------
"One good thing about music - when it hits, you feel no pain"
Bob Marley