bjt和utc换算的代码过简单认为有问题

问题遇到的现象和发生背景:写了一个bjt和utc换算的代码,感觉没有其他人写的那么复杂,导致我认为哪里不对,所以发上来让大家参考一下,有问题也可以指出。
问题相关代码
#include<stdio.h>
int main()
{ 
    int A;//A是北京时间
    printf("北京时间(BJT):");
    scanf_s("%d", &A);
    int B;//世界协调时
    const int C = 800;
    B = A - C;
    if (B < 0) {
        B = 2400  + B;
    }
    printf("对应的世界协调(UTC)为:%d", B);
    return 0;
}

运行结果试了几个都是没有问题的 :

正常使用输入803,输出3;

跨日我也计算了,比如输入620,输出为2220;

输入0,输出为1600;

但是和论坛其他人发的好像太过于简单,我也不清楚这是否正确,有问题还请指出。