質問: 2){ if((p.year%4==0 && p.day==29) || (p.year%4!=0 && p.day==28)){ p.month+=1; p.day=1; }else{ p.day+=1; } }else{ if(p.day==30){ p.month+=1; p.day=1; }else{ p.day+=1; } } return p; } int main(){ struct date p; printdate(p); tomorrow(p); printf("Tomorrow is %04d/%02d/%02d\n", p.year, p.month, p.day); return 0; } ```
回答: printdate(p);ではポインターではなく、値を渡しますので、もし、printdateの中で、読み込んだ値をtomorrowに渡したいのであれば、ポインターを渡す必要があります。printdate(&p);となります。