#include <stdio.h>
#include <string.h>
//pInputStr中是原来待处理的字符串,m是其大小
//pOutputStr是删除重复后的字符串,其大小用n返回
void RemoveRepeatChar(const char* pInputStr, int m,char* pOutputStr, int* n)
{
int k = 0; //开始时,pOutputStr是空的,所以赋值0
//遍历pInputStr中的字符
for( int i = 0; i < m; i++)
{
char Test_char = pInputStr[i]; //检测这个字符是否出现过
int j =0; //用于遍历pOutputStr
for( j = 0; j < k; j++)
{
//如果有重复的字符,直接结束循环
if( pOutputStr[j] == Test_char)
break;
}
//判断Test_char是否出现过,如果j遍历到了最后,那么一定没有重复了
if( j == k)
{
pOutputStr[k] = Test_char;
k++; //长度加1
}
}
//遍历结束, 在pOutputStr后面加'\0'
pOutputStr[k] = '\0';
//将k赋值给n,返回
*n = k;
}
//测试
int main()
{
char buf[] = "abcdefbcd";
char res[32];
int k = 0; //用于返回res大小
RemoveRepeatChar(buf,sizeof(buf),res,&k);
printf("%s",res);
}