> В чистом Си как-то можно динамически изменять отступ в цикле при выводе
> на экран через printf?
> Допустим:
> int a = 1;
> a++;
> while (a < 10) {
> printf("d");
> }
> Вместо 12 как-то можно подставить переменную а?Если я Вас правильно понял, то вы спрашиваете про ширину поля, в котором размещается выводимый аргумент. Ширина эта задаётся числом, располагаемым между знаком % и квалификатором аргумента. Если она не задана, то автоматически задастся поле, достаточное для вывода всех символов аргумента. Если недостаточна - будет так же расширена.
Например. printf ("[%d, %d]", 172, 9); выведет строку "[172, 9]"
A вот printf ("[], ]]", 172, 9); -- строку "[ 172, 9]" (ширина поля 5 символов, выравнивание по правой стороне)
"Динамически" ширину поля можно указывать с помощью подстановочного квалификатора *. В этом случае фактическую ширину поля нужно передавать как один из соответствующих аргументов.
Например: printf ("%*d", w, var); В результате значение переменноый var будет выведено в поле шириной w
Между знаком % и шириной поля так же можно указать символ-заполнитель для поля.
Например, printf ("%#9d", 108) выдаст строку "######108"