for(p=str;*p;p++)
{
for(q=r=p;*q;q++)
if(*r>*q) r=q;
if(*r!=*p)
{
c=*r;
*r=*p;
*p=c;
}
for(p=str;*p;p++)
{
for(q=p;*p==*q;q++);
strcpy(p+1,q);
}
由於前壹部已經排序過了,所以重復的字符是相鄰的
for(p=str;*p;p++) 外層for循環正常遍歷元素至遇到字符串結束符'\0'
for(q=p;*p==*q;q++); 內層的for循環用於跳過重復的字符
重復的字符中僅拷貝壹個字符,其他的重復字符被覆蓋掉