对于C语言编程。 我要如何要显示的数字为00,01,02,03,而不是0,1,2,3,我只是直到10号之前需要0。
我知道,当你在做小数可以为整数反做“%.2f”等,但怎么样?
这里是我使用的是什么... **
printf("Please enter the hours: ");
scanf ("%d",&hour);
printf("Please enter the minutes: ");
scanf ("%d",&minute);
printf("Please enter the seconds: ");
scanf ("%d",&second);
printf("%d : %d : %d\n", hour, minute, second);
}
我需要的数字显示为00:00:00
??
您需要使用%02d
,如果你想填充到两个空间前导零:
printf ("%02d : %02d : %02d\n", hour, minute, second);
例如,见下面的完整的程序:
#include <stdio.h>
int main (void) {
int hh = 3, mm = 1, ss = 4, dd = 159;
printf ("Time is %02d:%02d:%02d.%06d\n", hh, mm, ss, dd);
return 0;
}
其输出:
Time is 03:01:04.000159
请注意,所述%02d
意味着最小的两个字符的宽度,从而它会输出123 为 123
。 这不应该是,如果你的值是有效的小时,分钟和秒的一个问题,但它是值得铭记,因为许多缺乏经验的程序员似乎使错误,2是某种最小和最大长度。
使用以下格式: %02d
代替。 在0
使用零指垫的场和2
表示该字段是宽两个字符,所以对于需要不到2个字符的任何数字来显示,它将与一个0填充。