У меня есть программа преобразования температуры, которую я выполнил. В программе много операторов printf
, которые печатают температуру. Теперь отрицательные температуры печатаются так, как я хочу, но положительные температуры печатаются без лидирующего знака +
.
Теперь, как лучше всего получить printf
напечатать ведущий знак +
для положительного числа. Все, что я мог придумать, это изменить
printf("Min temp = %d\n",max_temp)
на
if(max_temp > 0)
printf("+");
printf("Min temp = %d\n",max_temp)
, но это требует многих изменений в программе: (
Другой вариант - написать свою собственную функцию печати и поместить эту логику туда. Что вы предлагаете?
Добавьте флаг +. Вот пример.
int n;
printf("%+d", n);
(при условии, что n является целым числом — просто замените %d для других числовых типов)
Вы можете использовать флаг +
в printf для печати положительных чисел с ведущим знаком +
как:
printf("%+d %+d",10,-10); // prints +10 -10