删除字符串中的重复字符(C语言)

#include<stdio.h>
#include<string.h>

unsigned int Delete_duplicate_characters(char *p){
    unsigned int i,j,m;
    unsigned int len=strlen(p);
    for(i=0;i<len-1;i++){
        for(j=i+1;j<len;j++){
            if(p[i]==p[j]){
                for(m=j;m<len;m++){
                    p[m]=p[m+1];
                }
                len--;//字符串长度减去1
                j--;//此时因为移位新生成的字符串数组,j的位置往前跑了,所以对应的j的数应该减1
            }
        }
    }
    return strlen(p);
}
int main()
{
    char a[1024]={0};
    gets(a);
    printf("%d\n",Delete_duplicate_characters(a));
    return 0;
}