Как буквенно-цифровой может быть символом, а не строкой?

#c #cs50 #alphanumeric

#c #cs50 #буквенно-цифровой

Вопрос:

В библиотеке CS50 есть функция с именем isalnum , которая проверяет, является ли символ буквенно-цифровым. Однако эта функция принимает только char не a c-string (т. Е. char[] ).

Под буквенно-цифровым я понимаю, что это что-то вроде, например, «7x», так что это два символа, один буквенный и один цифровой, поэтому «7x» — это строка, а не символ, потому что она состоит из символов «7» и «x».

Теперь, как функция может isalnum проверить, является ли один символ буквенно-цифровым??

Ответ №1:

Из https://manual.cs50.io/3/isalnum

Функция int isalnum(char c);

Эта функция проверяет, является ли c буквенно-цифровым (т. Е. Буквой или цифрой) или нет.

Таким образом, он проверяет, является ли буква или число не одновременно (например, a1). Следовательно, параметр не обязательно должен быть строкой, достаточно символа. С помощью a char вы можете проверять отдельные цифры, '0 to 9' а также отдельные буквы, поэтому нет необходимости в строках (или char[] ).

Функция вернется 1 , если символ c представляет собой либо буквенную форму от ‘a до Z’, либо цифру от ‘0 до 9’, 0 в противном случае.