(C/C++)scanf无法读取后面变量的值

#include
#include
#include
#include
using namespace std;
int main()
{
int hh=0;
int mm=0;
scanf("%2d:%2d", &hh, &mm);//mm无法读取,结果为0
if (hh < 12 && hh >= 0||hh==12&&mm==0)
printf("Only %02d:%02d. Too early to Dang.", hh, mm);
if (hh >= 12 && hh < 24)
{
if (mm != 0)
{
for (int i = 0; i < hh - 12 + 1; i++)
cout << "Dang";
}
else
{
for (int i = 0; i < hh - 12; i++)
{
cout << "Dang";
}
}
}
}

控制台的截图贴下

scanf("%2d:%2d", &hh, &mm); 修改为: scanf("%d:%d", &hh, &mm);