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;