删除重复字符串,悲哀,该铭记的。

#include "string"

void del_duplicated(char *s)   
{   
	int n = strlen(s);   
    if(n<=1)   
	return;   
	int i, j;   
	int last = 1;                   //刚开始认为被处理过的只有s[0]   
	for(i=1; i<n; i++)              //从下标1开始往后扫描   
	{   
		for(j=0; j<last; j++)      
		{   
			if(s[i] == s[j])        //将没有比较过的字符依依与s[0...last-1]做比较   
				break;              //碰到一样的,出现了重复,退出循环   
			}   
		if(j==last)                 //出现这种情况说明一直到last-1,都没有s[i]==s[j]   
			s[last++] = s[i];       //所以s[i]是还没出现过的字符,把它加进来,然后last+1   
		}   
	s[last] = 0;                    //最后记得字符串要以0结尾   
	}   
  
int main(void)   
{   
	char s[] = "hello,word!!";   
	del_duplicated(s);   
	printf("%s\n", s);   
	return 0;   
}  

你可能感兴趣的:(include)