#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);
}