Tradizionalmente, era - in senso stretto - un errore per passare un signed char
ai predicati ctype.h
perché erano stati definiti solo per -1 a 255, quindi da -128 a -2 poteva finire nella lettura di limiti di array esterni.ctype.h richiede ancora il char non firmato?
È stato risolto questo problema o si sta ancora utilizzando rigorosamente lo unsigned char
per evitare comportamenti non definiti nelle versioni moderne di C?
I programmi moderni hanno solo maggiori possibilità di confrontarsi con i personaggi compresi nell'intervallo 128-255, che sarebbero interpretati erroneamente come negativi se visti come caratteri firmati, quindi la risposta è "più che mai". –