C语言对字符串去重

时间:2023-03-10 03:13:24
C语言对字符串去重

# include <stdio.h>
# include <string.h> char * getNewChar(char * str,char * newStr); int main()
{
char * str = "baabbcddffffaacbffffffffa"; // 需要去重的字符串
char newStr[15]; char * result = getNewChar(str, newStr);
printf("去重后的结果为:%s", result); return 0;
} char * getNewChar(char * src, char * newStr){
// 传入一个字符串str,返回去重后的新字符串 char * result = newStr; while (*src != '\0') { // 每得到一个字符遍历一次已存入的新字符判断是否已经存在
if (strchr(result, *src) == NULL) {
*newStr = *src;
newStr++; }else{
printf("重复字符:%c\n", *src);
}
src++;
}
return result;
} 执行结果:
重复字符:a
重复字符:b
重复字符:b
重复字符:d
重复字符:f
重复字符:f
重复字符:f
重复字符:a
重复字符:a
重复字符:c
重复字符:b
重复字符:f
重复字符:f
重复字符:f
重复字符:f
重复字符:f
重复字符:f
重复字符:f
重复字符:f
重复字符:a
去重后的结果为:bacdf