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
posted @ 2019-03-05 21:31  每一天,为明天。  阅读(469)  评论(0)    收藏  举报