我有一个可能是负数或正数的数字,我想让它从没有负号或正号的sprintf()中弹出。我该怎么做?
我尝试了%d
% d
%- d
%+ d
% -d
% +d
,但都没有。
我尝试了gcc 4.8.2和g ++ 4.8.2但它不起作用。这是gcc中的错误吗?
答案 0 :(得分:3)
没有应用绝对值功能的格式字符串。
以下是您需要做的事情:
#include <stdio.h>
#include <math.h>
void main()
{
int num = -6000;
printf("%d\n", abs(num));
}
%d
会将34呈现为34
,将-34呈现为-34
。% d
会将34呈现为(空格)+ 34
,将-34呈现为-34
。%+d
会将34呈现为+34
,将-34呈现为-34
。"%5d
会将34呈现为(三个空格)+ 34
,将-34呈现为(两个空格)+ -34
。他们都将使用字段大小5. "%-5d
会将34呈现为34
+(三个空格),将-34呈现为-34
+(两个空格)。它们都将使用字段大小5,但由于-
而左对齐。