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 change
printf("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 ?
It is an escape sequence. As % has special meaning in printf type functions, to print the literal %, you type %% to prevent it from being interpreted as starting a conversion fmt.
The Printf module API details the type conversion flags, among them: %B: convert a boolean argument to the string true or false %b: convert a boolean argument (deprecated; do not use in new programs).
You can use the +
flag of printf to print positive numbers with a leading +
sign as:
printf("%+d %+d",10,-10); // prints +10 -10
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With