for(i=0;i { for(k=0;k { if(B[k].color==A[i]) { found=true; B[k].num++; j++; break; } } if(!found) { B[j].color=A[i]; } }这一段代码太难看懂了,你再好好想想,这里有错误 found只初始化了一次。你的本意是什么的。