C 这个时间转换代码有什么问题?

C 这个时间转换代码有什么问题?,c,C,我写这段代码是为了把世界时转换成当地时间 #include<stdio.h> #include<stdlib.h> #define T_SIZE 2 void Time_change(int time, int time_diff, int *new_timep, int *day_nump) { *day_nump=0; *new_timep=time+(time_diff*100);

我写这段代码是为了把世界时转换成当地时间

#include<stdio.h>
#include<stdlib.h>

#define T_SIZE 2

void Time_change(int time,
             int time_diff,
             int *new_timep,
             int *day_nump)
{
*day_nump=0;

*new_timep=time+(time_diff*100);
if(*new_timep<0)
{
  *new_timep +=2400;
  *day_nump -=1;
}
if(*new_timep>2400)
{
  *new_timep -=2400;
  *day_nump +=1;
}
}

int main(void)
{
int utc[T_SIZE],
    time_diff,
    local[T_SIZE],
    day[T_SIZE],
    i;

    for(i=0;i<T_SIZE;i++)
    {
        printf("Enter Universal Time #%d\n",i);
        scanf("%d",&utc[i]);
        printf("Time difference=");
        scanf("%d",&time_diff);
    }

    printf("\n");

    for(i=0;i<T_SIZE;++i)
    {
        Time_change(utc[i],time_diff,&local[i],&day[i]);
        printf("Local Time = %d:%d  day# %d\n",(local[i]/100)%100,(local[i])%100,day[i]);
    }
   system("pause");
    }
结果在小时数部分是正确的


怎么了?

第二次输入时,它将覆盖第一次输入,然后第二次输入将使用两次


如果将对
Time\u change
的调用移动到第一个循环,则每次都将使用正确的
Time\u diff
值。

PNG文件是您的实际输出吗?如果没有,对于纯文本输出,请将其复制到您的帖子中。
//*day_nump -=1;

//*day_nump +=1;