c - 打印 printf 中正数的前导 '+'

标签 c string formatting format printf

我有一个温度转换程序作为作业,我已经完成了。该程序中有许多打印温度的 printf 语句。现在负温度按我想要的方式打印,但正温度打印时没有前导 + 符号。

现在让 printf 打印正数的前导 + 符号的最佳方法是什么。我能想到的就是改变

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

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

但这需要对程序进行许多更改:(

另一种选择是编写我自己的打印函数并将这个逻辑放在那里。你有什么建议?

最佳答案

您可以使用 printf+ 标志打印带有前导 + 符号的正数:

printf("%+d %+d",10,-10); // prints +10 -10

关于c - 打印 printf 中正数的前导 '+',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3589242/

相关文章:

c - 多种语言的文学编程

c - Bresenham椭圆绘制算法在OpenGL中的实现

c# - 连接常量字符串和枚举

c# - 如何根据数字在 C# 中的值设置不同的格式?

c++ - 可读性:拆分代码行,运算符应该在第一行还是第二行?

perl - 如何在不使用 Perl 格式的情况下格式化列?

c - 如何创建一个二维数组,其尺寸由用户指定? (在C中)

c - SDL2 事件在 C 中不起作用

java - 将带有换行符的字符串写入文件

JavaScript 语法 : inserting the value of a string into a statement