我希望在单个表达式中将02作为023和-23作为-023打印时填充int 23,有什么办法可以吗?
例如。
(不是一个完美的程序只是想解释我想做什么)
int a=-23,b=23,c=-123,d=1;
char arr[10];
sprintf("arr,%d|%d|%d|%d",a,b,c,d);
o / p应该像
arr = -023|023|-123|001
答案 0 :(得分:2)
您可以在printf格式说明符中指定精度以指示最小位数,因此如果您想要至少3位数:
#include <stdio.h>
int main(void)
{
int a = -23, b = 23, c = -123, d = 1, e = -2345;
printf("|%.3d|%.3d|%.3d|%.3d|%.3d|\n", a, b, c, d, e);
return 0;
}
输出:|-023|023|-123|001|-2345|
答案 1 :(得分:0)
您可以使用以下代码。
int main(void)
{
int a=-23,b=23,c=-123,d=1;
char arr[10];
printf("arr,%04d|%03d|%04d|%03d",a,b,c,d);
}