删除重复字符串,悲哀,该铭记的。
来源:互联网 发布:直播跳舞的软件 编辑:程序博客网 时间:2024/05/29 11:59
#include "string"void del_duplicated(char *s) { int n = strlen(s); if(n<=1) return; int i, j; int last = 1; //刚开始认为被处理过的只有s[0] for(i=1; i<n; i++) //从下标1开始往后扫描 { for(j=0; j<last; j++) { if(s[i] == s[j]) //将没有比较过的字符依依与s[0...last-1]做比较 break; //碰到一样的,出现了重复,退出循环 } if(j==last) //出现这种情况说明一直到last-1,都没有s[i]==s[j] s[last++] = s[i]; //所以s[i]是还没出现过的字符,把它加进来,然后last+1 } s[last] = 0; //最后记得字符串要以0结尾 } int main(void) { char s[] = "hello,word!!"; del_duplicated(s); printf("%s\n", s); return 0; }