- Можно выводить пробелы в цикле если я правильно понял задачу for int j 0 , f2404 (ok), 16:00 , 13-Сен-16 (1)
> В чистом Си как-то можно динамически изменять отступ в цикле при выводе > на экран через printf? > Допустим: > int a = 1; > a++; > while (a < 10) { > printf("d"); > } > Вместо 12 как-то можно подставить переменную а?Можно выводить пробелы в цикле (если я правильно понял задачу) for (int j = 0; j < a; ++j) printf(" ");
- Если я Вас правильно понял, то вы спрашиваете про ширину поля, в котором размеща, Asgard (?), 19:32 , 14-Сен-16 (10)
> В чистом Си как-то можно динамически изменять отступ в цикле при выводе > на экран через 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"
- man 3 printf, Led (ok), 22:40 , 15-Сен-16 (13)
|