當前位置:編程學習大全網 - 編程軟體 - 求這道題代碼的運行的思路,它的作用是將字符串排序去重。麻煩詳細壹點,指針不太熟悉

求這道題代碼的運行的思路,它的作用是將字符串排序去重。麻煩詳細壹點,指針不太熟悉

第壹個雙層for循環,將字符串進行排序

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循環用於跳過重復的字符

重復的字符中僅拷貝壹個字符,其他的重復字符被覆蓋掉

  • 上一篇:超腦賀幼軍壹期
  • 下一篇:電路仿真軟件哪個好?
  • copyright 2024編程學習大全網