La función isupper() comprueba si ch está en mayúsculas según la clasificación de la configuración regional actual de C. Por defecto

los caracteres de la A a la Z (valor ASCII 65 a 90) son caracteres en mayúsculas. El comportamiento de isupper() no está definido si el valor de ch no se puede representar como carácter sin signo o no es igual a EOF.