Что означает n в `sscanf (s,“% d% n ”, & i, & n)`?

На странице руководства говорится, что подписьsscanf является

sscanf(const char *restrict s, const char *restrict format, ...);

Я виделответ на ТАК где функция, в которойsscanf используется как это, чтобы проверить, было ли входное целое число.

bool is_int(char const* s) {
    int n;
    int i;
    return sscanf(s, "%d %n", &i, &n) == 1 && !s[n];
}

Смотря на!s[n] кажется, что мы проверим,sscanf отсканировал последовательность символов до окончания символа\0, Итак, я предполагаюn обозначает индекс, где sscanf будет в строкеs когда функция заканчивается.

Но как насчет переменнойi? Что это значит?

Редактировать:

Чтобы быть более явным: я вижу подписьsscanf хочет указатель типаchar * в качестве первого параметра. Спецификатор формата в качестве параметра secondf, поэтому он знает, как анализировать последовательность символов и столько переменных, сколько указатели преобразования, как следующие параметры. Теперь я понимаю, чтоi для хранения проанализированного целого числа

Поскольку существует только один спецификатор формата, я попытался вывести функцию.n

Мое предположение выше дляn правильный?

Ответы на вопрос(4)

Ваш ответ на вопрос