Я читал файл с исходным кодом. Но я застрял по следующей линии:Что означает isspace (ch & 0xff)?
while (isspace (* bp & 0xff))
++ bp;
Я знаю, что основная идея состоит в том, чтобы удалить пробелы. Но я не знаю, что именно делает 0xff
в следующей функции.
static enum tokens scan (const char * buf)
{
static const char * bp;
if (buf)
bp = buf; /* new input line */
while (isspace (* bp & 0xff))
++ bp;
if (isdigit (* bp & 0xff) || * bp == '.')
{
errno = 0;
token = NUMBER, number = strtod (bp, (char **) & bp);
if (errno == ERANGE)
error ("bad value: %s", strerror (errno));
}
else
token = * bp ? * bp ++ : 0;
return token;
}
Какой тип 'bp'? – edmz
Пожалуйста, покажите нам окружающий код, в частности определение и содержание 'bp'. – orlp
Автор имеет многолетний опыт программирования. И сначала он написал, что как isspace (* bp), но потом он изменил его. Итак, я ищу здесь значимую причину. – Begginer