这个程序如何操作的,我想问一下

#include<stdio.h>

int main()
{
int a[6],i;
for(i=1;i<6;i++)
{
a[i]=9*(i-2+4*(i>3))%5;
printf("%3d",a[i]);
}
return 0;
}

a[i]=9*(i-2+4*(i>3))%5;
这一句中,
如果 i大于 3,a[i]=9*(i-2+4*1)%5;
如果 i小于等于 3, a[i]=9*(i-2+4*0)%5;

以for循环 i = 1为例,i = 1时,i>3为假则为0,
9*(i-2+4*(i>3))%5
= 9*(1-2+4 * 0)%5
= 9*(-1)%5
= (-9)%5
= -4
其他依次类推,注意,当i=3时,i>3仍然为假值为0,当i=4时,i>3为真值为1