Originariamente inviato da oregon
Il valore di un char, da un punto di vista numerico, è compreso tra -128 e +127

Il valore ascii di z è 122 ... se sommi 6, non diventa 128 ma -128 e la if fallisce.
Devi indicare nella if che il valore deve essere inteso unsigned (da 0 a 255) e allora il confronto avviene tra 128 e z ...
Ok, grazie mille
Tutto chiaro, mi chiedo perchè ai corsi universitari non ci dicano certe cose