printf:
%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格
%02d,和%.2d差不多,只不过左边补0。
scanf:
如果想输入02,不要用scanf("%.2d",&a);
而是用scanf("%02d",&a).
上网查了一下,因为:
%.2是保留小数后面的两位数字,%d是整形,整形本身就和小数不一样,%.2d就会引起编译器的误解,计算机不知道你到底时要输入整形还是小数,而%02d是指保留两位有效数字的整形,整形与两位不冲突,如果输入1的话,计算机就会自动加0保存为01。