1. 程式人生 > >c語言用字元陣列和字元指標刪除相同字元

c語言用字元陣列和字元指標刪除相同字元

如何用字元陣列和字元指標做引數刪除與某字元相同的字元

1.用字元陣列

char *DelLetter1(char str1[],char a)   //用字元陣列刪除
{
	int i = 0;
	int c = 0;
	char *b = (char*)malloc((strlen(str1))*sizeof(char));   //定義動態陣列
	for (i = 0; i < (strlen(str1)+1); i++)
	{
		if (str1[i]!=a)                      //把不是指定字元的元素複製進入新的陣列
		{
			b[c] = str1[i];   
			c++;
		}
		else {
			continue;
			 }
	}
	return b;                                       //返回新的陣列
}

2.用字元指標

char *DelLetter2(char str1[], char a)
{
	char *c = str1;
	char *e = (char*)malloc((strlen(str1)) * sizeof(char));         //定義動態陣列
	char *f = e;                                                 //記錄新的指標開始值
	while (*c != '\0')
	{
		if (*c != a)//複製進入新的陣列
		{
			*e = *c;
			e++;
		}
		c++;
	}
	return f;                    //返回開始地址
}