Warning digit1 may be used uninitialized in this function

The difference is the default case that makes sure, that digit3 always gets a value,
that is not the case for the first switch, that sets digit1.

So the compiler sees a flow of execution, that leaves digit1 uninitialized when used.