use*_*844 28 c string format formatting printf
我有一个温度转换程序作为一项任务,我已经完成了.该程序中有许多printf声明可以打印温度.现在,负温度按照我想要的方式打印,但正面温度打印时没有前导+符号.
现在,printf打印+正数的最佳方法是什么?我能想到的只是改变
printf("Min temp = %d\n",max_temp)
Run Code Online (Sandbox Code Playgroud)
至
if(max_temp > 0)
printf("+");
printf("Min temp = %d\n",max_temp)
Run Code Online (Sandbox Code Playgroud)
但这要求程序中的许多变化:(
另一个选择是编写我自己的打印功能并将此逻辑放在那里.你有什么建议?
cod*_*ict 62
您可以使用printf+标志打印带有前导符号的正数:+
printf("%+d %+d",10,-10); // prints +10 -10
Run Code Online (Sandbox Code Playgroud)
shr*_*ddd 19
添加+标志.这是一个例子.
int n;
printf("%+d", n);
Run Code Online (Sandbox Code Playgroud)
(假设n是一个int - 只替换其他数字类型的%d)