dev c++ 计算时间差

问题遇到的现象和发生背景 dev c++计算时间差

#include <stdio.h>

int main()
{
int hour1, minute1;
int hour2, minute2;

scanf("%d %d", &hour1, &minute1);
scanf("%d %d", &hour2, &minute2);

int ih = hour2 - hour1;
int im = minute2 - minute1;

printf("时间差是%d小时%d分钟。\n", ih , im);

运行结果
10 40
11 50
鏃堕棿宸槸1灏忔椂10鍒嗛挓銆?


Process exited after 6.565 seconds with return value 0
请按任意键继续. . .

我的解答思路和尝试过的方法
我想要达到的结果

这么计算时间会出现小时为负数,分钟为正数的情况,建议修改如下:

int main()
{
int hour1, minute1;
int hour2, minute2;
scanf("%d %d", &hour1, &minute1);
scanf("%d %d", &hour2, &minute2);
 
int m = (minute2 + hour2*60) - (minute1 + hour1*60);
int ih = m / 60;
int im = m % 60;
printf("时间差是%d小时%d分钟。\n", ih , im);
}

可以看下c语言参考手册中的 计算时间差-difftime