Это не «команды», это функции. Функции принимают аргументы и возвращают значения.
#include <ctype.h>
int isdigit( int ch );
Это подпись для функции isdigit
: она указывает, что она примет значение int
(или что-то, что может быть приведено к int
, например char
), и вернет int
. Поэтому вы не можете передать ему массив (хотя вы можете вызывать его для каждого члена int[]
).
Подпись для isalpha
идентична (за исключением названия, очевидно).
В документации сказано следующее:
Описание: функция isalpha ()
возвращает ненулевое значение, если его аргумент
буква алфавита. Иначе,
ноль возвращается.
Это означает, что ваше сравнение не будет корректным для всех реализаций. Лучше сделать что-то вроде:
if (isdigit(someinput)) {
return -1;
}
В C 0 будет иметь значение false
в логическом выражении, а все ненулевые значения - true
. Так что эта проверка будет охватывать реализации isdigit
, которые возвращают -1, 5, что угодно.
Если вы хотите применить их к значениям в текстовом файле, вы должны читать текст по одному символу за раз и передавать получаемые символы этим методам.