C语言结构输出有关的问题

题目:按照下面要求定义一个时钟结构体类型:

struct clock
{
    int hour;
    int minute;
    int second;
};
然后,编程实现将时钟模拟显示在屏幕上。注意:时钟是24小时的。需要判断输入的数据是否合法。
输入样例1:
10,20,3
输出样例1:
10:20:03

我写的程序是:

#include<stdio.h>

struct clock
    {
        int hour;
        int minute;
        int second;
    };
int main()
{
    struct clock c;
    scanf("%d/:%d/:%d",&c.hour,&c.minute,&c.second);
    printf("%02d:%02d:%02d",c.hour,c.minute,c.second);
    return 0;
}

图片说明

但输出出来只有小时是正确的,请问为什么?

scanf("%d/:%d/:%d",&c.hour,&c.minute,&c.second);
修改为
scanf("%d%%d",&c.hour,&c.minute,&c.second);