in this case, its not for pointer use, its being used as a multiplication symbol, so in the statment
switch(letter * (letter >= 'a' && letter <= 'z'))
the (letter >= 'a' && letter <= 'z') part will result to true(1) or false(0) if you entered a small letter or large letter respectively.
Thus if u enter a small letter, lets say 'b', the switch statement evaluates to (letter * 1) or ('b' * 1) which is 'b' and no case has been written for this, so the default case executes and tells you its a consonant.
If you enter a large letter, say 'D', the switch statement evaluates to (letter * 0) or ('D' * 0) which is 0 and then the case 0 : statements execute and tells you its not a small letter.
My explanations may sound confusing, but thats the best way to explain that example
|