i=0时a[0]=1;b[a[0]]++等效于b[1]++,使用后b【1】变为1;i=1时a[i]=5;b[5]++,b[5]变为1。i为5时a[5]=1;b[1]++,此时b[1]变为2,即此时已统计出a数组中数据为1的有两个。以此类推
i=0时:a[i]==1; b[1]自加1 -> b[1]==1;i=1时:a[i]==5; b[5]自加1 -> b[5]==1;i=2时:a[i]==6; b[6]自加1 -> b[6]==1;i=3时:a[i]==8; b[8]自加1 -> b[8]==1;i=4时:a[i]==2; b[2]自加1 -> b[2]==1;i=5时:a[i]==1; b[1]自加1 -> b[1]==2;i=6时:a[i]==4; b[4]自加1 -> b[4]==1;i=7时:a[i]==5; b[5]自加1 -> b[5]==2;i=8时:a[i]==2; b[2]自加1 -> b[2]==2;i=9时:a[i]==5; b[5]自加1 -> b[5]==3; 追问 那用printf显示后b[i]怎么不是上面的值呢? 追答 printf输出:0出现的次数01出现的次数22出现的次数23出现的次数04出现的次数15出现的次数36出现的次数17出现的次数08出现的次数19出现的次数0