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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM