pta时间类型-设置时间

给的程序


#include <stdio.h>

......

typedef struct
{
    char hour, minute, second;
} MYTIME;

int IsValidTime(int hour, int minute, int second);
void TimeSet(MYTIME *time, int hour, int minute, int second);

int main()
{
    MYTIME a = {12, 15, 30};
    int h, m, s;
    scanf("%d %d %d", &h, &m, &s);
    TimeSet(&a, h, m, s);
    printf("%d %d %d\n", a.hour, a.minute, a.second);
    return 0;
}

我写的程序不知道为什么总是会输出成下面这样,到底哪里错了

img


void TimeSet(MYTIME *time,int hour,int minute,int second)
{
    int a=0;
    if(hour<=23&&hour>=0&&minute<=59&&minute>=0&&second<=59&&second>=0)
    {
        a=1;
    }
    if(a==1)
    {
        (*time).hour=hour;
        (*time).minute=minute;
        (*time).second=second;
    }
    else if(a==0)
        printf("不正确的时间!\n");
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

这代码看着没问题,最后这句: printf("不正确的时间!\n"); 没按题目要求啊,题目样例要求是输出:printf("不正确的参数!\n");

结构体的类型定义和使用都有点问题哦!