编辑代码

#include <stdio.h>

struct time{
    int hour;
    int minutes;
    int seconds;
};

struct time timeUpdate(struct time now);

int main (void) {
    struct time testTimes[5] = {
        {11,59,59},{12,00,00},{1,29,59},{23,59,59},{19,12,27}
    };
    int i;

    for(i = 0;i<5;++i){
        printf("Time is %.2i:%.2i:%.2i\n",testTimes[i].hour,testTimes[i].minutes,testTimes[i].seconds);
        testTimes[i] = timeUpdate(testTimes[i]);// why transmit value?

        // printf("update.hour:%.2i\n",testTimes[i].hour);
        printf("...one second later it's %.2i:%.2i:%.2i\n",testTimes[i].hour,testTimes[i].minutes,testTimes[i].seconds); 
    }

    return 0;
}  

struct time timeUpdate(struct time now){
    ++now.seconds;
    printf("Now.seconds:%i\n",now.seconds);
    if(now.seconds == 60){
        now.seconds = 0;
        printf("Now.seconds:%i\n",now.seconds);
        ++now.minutes;
        printf("Now.minutes:%i\n",now.minutes);

        if(now.minutes == 60){
            now.minutes = 0;
            printf("Now.minutes:%i\n",now.minutes);
            ++now.hour;
            printf("Now.hour:%i\n",now.hour);

            if(now.hour == 24){
                now.hour = 0;
            }else{printf("Not fill a Day\n");}
        }
    }
}