C语言把12进制时钟转化为秒输出结果出错

#以int,double输出结果太大了,是不是栈溢出?
#最终无论输入啥的输出结果都是108646484434

#include<stdio.h>
double Shabi(double a,double b,double c);
int main()
{
    int a, b, c, d, e, f;
    double N, M, Q;
    printf("请输入第一个12进制时间\n");
    scanf("%d,%d,%d",&a,&b,&c);
    N = Shabi(a,b,c);
    printf("请输入第二个12进制时间");
    scanf("%d,&d,%d",&d,&e,&f);
    M = Shabi(d,e,f);
    printf("第一次总时间为%g秒\n第二次总时间为%g秒\n时间差为%g秒",N,M,N-M);
     
    return 0;
}
double Shabi(double a,double b,double c)
{
    return a*3600+b*60+c;
}

数据类型不对应,%d变成&d了

img

img

#include<stdio.h>
double Shabi(int a,int b,int c);
int main()
{
    int a, b, c, d, e, f;
    double N, M, Q;
    printf("请输入第一个12进制时间\n");
    scanf("%d,%d,%d",&a,&b,&c);
    N = Shabi(a,b,c);
    printf("请输入第二个12进制时间");
    scanf("%d,%d,%d",&d,&e,&f);
    M = Shabi(d,e,f);
    printf("第一次总时间为%f秒\n第二次总时间为%f秒\n时间差为%f秒",N,M,N-M);
     
    return 0;
}
double Shabi(int a,int b,int c)
{
    return a*3600+b*60+c;
}