Загрузка...

%n, как зачем и нахуя?

Тема в разделе C/C++ создана пользователем fuckedup 22 сен 2021. 168 просмотров

  1. fuckedup
    fuckedup Автор темы 22 сен 2021 432 25 янв 2019
    Шапка, дайте нормальное объяснения %n
    в инете только про /n ебучее
     
  2. kennyonda
    kennyonda 22 сен 2021 Заблокирован(а) 245 13 май 2021
    Спецификатор преобразования %n
    Спецификатор %n довольно значительно отличается от остальных спецификаторов преобразования. Когда функция printf() встречает его, ничто не выводится. Вместо этого выполняется совсем другое действие: в целую переменную, указанную соответствующим аргументом функции, записывается количество выведенных символов. Другими словами, значение, которое соответствует спецификатору преобразования %n, должно быть указателем на переменную. После завершения вызова printf() в этой переменной будет храниться количество символов, выведенных до того момента, когда встретился спецификатор преобразования %n. Чтобы уяснить смысл этого несколько необычного спецификатора преобразования, разберитесь, как работает следующая программа:

    #include <stdio.h>

    int main(void)
    {
    int count;

    printf("this%n is a test\n", &count);
    printf("%d", count);

    return 0;
    }

    Программа отображает строку Это проверка, после которой появляется число 3. Спецификатор преобразования %n в основном используется в программе для выполнения динамического форматирования.
     
    1. fuckedup Автор темы
      kennyonda, та тут нихуя не понятно, мне человеческим языком нужно)
  3. Oniel
    Oniel 22 сен 2021 Заблокирован(а) 335 10 сен 2021
    Читает указатель на адрес переменной в памяти.
     
    1. fuckedup Автор темы
      Oniel,
      C
      scanf_s("%d%n", &x, &n1);
      printf("x = %d%n", x, &n2);

      printf("\n");

      printf("n1 = %d, n2 = %d\n", n1, n2);
      можешь объяснить пж, что по етапно здесь делается?
  4. Oniel
    Oniel 22 сен 2021 Заблокирован(а) 335 10 сен 2021
    1 строка - ввод переменных (n это когда ты выводишь значение которое хранилось в указателе)
    2 строка - вывод
    4 строка - новая строка
    6 строка - вывод
     
Top
Загрузка...