次のコードがあります。
unsigned char raindays[31];
void midnat(void) //thing to do at midnight. shift of date.
{
int d;
week_day++;
if (week_day==7) week_day=0;
r_regn=r_regn+today_rain;
for (d==29;d>0;d--)
{
raindays[d]=raindays[d-1];
}
raindays[0]=0;
// d--;
raindays[30]=today_rain;
today_rain=0;
}
しかし、「データ」はシフテットでは正しくありません。「raindays[29]」のデータにraindays[28]から0までの値を取得させたいのですが、正しくシフトせず、最初の「データ」のみが正しく、他は何も移動されません。