Выведите начальный «+» для положительных чисел в printf

У меня есть программа преобразования температуры, которую я выполнил. В программе много операторов printf , которые печатают температуру. Теперь отрицательные температуры печатаются так, как я хочу, но положительные температуры печатаются без лидирующего знака + .

Теперь, как лучше всего получить printf напечатать ведущий знак + для положительного числа. Все, что я мог придумать, это изменить

printf("Min temp = %d\n",max_temp)

на

if(max_temp > 0)
    printf("+");
printf("Min temp = %d\n",max_temp)

, но это требует многих изменений в программе: (

Другой вариант - написать свою собственную функцию печати и поместить эту логику туда. Что вы предлагаете?

28
задан codaddict 6 October 2010 в 04:40
поделиться

2 ответа

Добавьте флаг +. Вот пример.

int n;
printf("%+d", n);

(при условии, что n является целым числом — просто замените %d для других числовых типов)

18
ответ дан 28 November 2019 в 02:35
поделиться

Вы можете использовать флаг + в printf для печати положительных чисел с ведущим знаком + как:

printf("%+d %+d",10,-10); // prints +10 -10
61
ответ дан 28 November 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: