【发布时间】:2015-10-28 07:26:08
【问题描述】:
默认情况下会打印负数符号,如果需要,可以通过添加 + 标志打印加号。
我希望打印一个没有符号的数字。
我相信有一个标志,但这似乎不起作用。
printf("'%d'", 10); --> '10'
printf("'%d'",-10); --> '-10'
printf("'%+d'",10); --> '+10'
如果有人能建议如何为输入 x 和 -x,(x>0) 打印 x,那就太好了。
PS:我不喜欢对数字进行操作, 我正在寻找一个软件功能。
【问题讨论】:
-
使用
"%d"和abs? -
abs()是软件(库)功能。printf格式没有省略符号的语法。用%u打印-10不会是“10”。 -
我想不使用 abs。
-
不知道你为什么反对
abs()- 但如果不使用它是必要的,请使用三元(p<0?-p:p)作为等效项。 -
@user3121023,完成。我仍然认为使用 abs 更好 - 除非这是在没有完整(读取 STL/模板)C++ 支持的旧编译器中以兼容模式完成的。