Спецификатор преобразования %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 в основном используется в программе для выполнения динамического форматирования.
Oniel, scanf_s("%d%n", &x, &n1); printf("x = %d%n", x, &n2); printf("\n"); printf("n1 = %d, n2 = %d\n", n1, n2); C scanf_s("%d%n", &x, &n1); printf("x = %d%n", x, &n2); printf("\n"); printf("n1 = %d, n2 = %d\n", n1, n2); можешь объяснить пж, что по етапно здесь делается?
1 строка - ввод переменных (n это когда ты выводишь значение которое хранилось в указателе) 2 строка - вывод 4 строка - новая строка 6 строка - вывод