如何首先打印一个零的整数
例如,从stdin
扫描时间信息:
int h, m;
scanf("%d:%d", &h, &m);
printf("%d:%d", h, m);
我在08:19扫描了8:19,如何改变它的形式?
答案 0 :(得分:3)
对于最小2位数且前导0尝试:
printf("%02d:%02d",h,m);
答案 1 :(得分:1)
%0d
就是你的目标
printf("%0d:%0d",h,m);
答案 2 :(得分:1)
tpr的答案是执行此操作的经典方法,但您可以考虑:
printf("%.2d:%.2d", h, m);
它会为08:09
和h=8
打印相同的m=9
输出。
printf
整数格式的精度字段指定要生成的最小位数。如果要填充除前导零之外的数字,可以同时使用宽度和精度:
printf("|%3.2d:%-3.2d|", h, m);
将生成| 08:09 |
。
另一个有趣的特性是不能为零值产生输出:
printf("|%3.0d|", 0);
会产生| |
,有时非常方便。