Следующие две строки, посвященные islower () и isupper (), даны в одном абзаце книги C Майка Банахана (ссылка: раздел 9.3):
islower (int c)
Истинно, если c - буква нижнего регистра. Также верно для набора символов, определенного реализацией, который не возвращает истинных результатов ни из iscntrl, isdigit, ispunct или isspace. В локали C этот дополнительный набор символов пуст.
isupper (int c)
Истинно, если c является буквенным символом верхнего регистра. Также верно для определенного реализацией набора символов, которые не возвращают истинные результаты из любого из iscntrl, isdigit, ispunct или isspace. В локали C этот дополнительный набор символов пуст.
Можете ли вы объяснить, как символ, если он не возвращает истинных результатов ни по одному из iscntrl, isdigit, ispunct или isspace, может привести к истинному результату для обеих функций? Насколько мне известно, символ может быть либо строчным, либо прописным, но не обоими (если мы говорим о наборах символов, которые имеют такое различие ... большинство европейских языков имеют).