最后一个例题2008年4月份选择题,完全想不明白怎么回事。求解答。
# include<stdio.h>
main()
{
int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++) c[s[i]]++;
for(i=1;i<5;i++) printf("%d",c[i]);
printf("\n");
}
c[5]={0}
c[0]=0;
c[1]=0;
c[2]=0;
c[3]=0;
c[4]=0;
为什么运行之后会变成4332?
你慢慢看这段代码,c的下标是s[i]的值,因为s数组中没有0,所以c[0]依然是初始化时的0,s数组中有4个1,所以c[1]会从0自增4次也就变成4了,依次类推,c[2]就是s数组中2的个数,也就是3,下面应该好懂吧。
回复 qqq:谢谢!