Print a leading '+' for positive numbers in printf
28,555
Solution 1
You can use the +
flag of printf to print positive numbers with a leading +
sign as:
printf("%+d %+d",10,-10); // prints +10 -10
Solution 2
Add the + flag. Here is an example.
int n;
printf("%+d", n);
(assuming n is an int - just replace %d for other numeric types)
Author by
user292844
Updated on October 19, 2021Comments
-
user292844 over 2 years
I've a temperature conversion program as an assignment, which I've completed. The program has many
printf
statements in it which print the temperature. Now the negative temperatures are printed the way I want them but the positive temperatures are printed without a leading+
sign.Now what is the best way to get
printf
print a leading+
sign for positive number. All I could think of is to changeprintf("Min temp = %d\n",max_temp)
to
if(max_temp > 0) printf("+"); printf("Min temp = %d\n",max_temp)
But that calls for many changes in program :(
Another option is to write my own print function and put this logic there. What do you suggest ?