Есть ли способ найти переменный размер форматирования с плавающей запятой - PullRequest
0 голосов
/ 18 марта 2020

Я пытался определить% 4f как спецификатор формата, который дает 4 пробела в правом выравнивании. Однако мне нужен способ сделать% 4f как% vf, где v - это номер переменной, который задается пользователем во время выполнения

1 Ответ

1 голос
/ 18 марта 2020

Вы можете использовать *. Например:

#include <stdio.h>

int main(void)
{
    float pi = 3.141;

    printf("#%*.3f#\n", 0, pi);
    printf("#%*.3f#\n", 5, pi);
    printf("#%*.3f#\n", 10, pi);
    printf("#%*.3f#\n", 15, pi);

    return 0;
}

Это приводит к следующему:

$ gcc main.c -o main.exe; ./main.exe;
#3.141#
#3.141#
#     3.141#
#          3.141#
...