本题要求实现一个删除字符串中的指定字符的简单函数

本题要求实现一个删除字符串中的指定字符的简单函数。
函数接口定义:
void delchar( char *str, char c );
其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。
裁判测试程序样例:

#include 
#define MAXN 20

void delchar( char *str, char c );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */
int main()
{
    char str[MAXN], c;
    scanf("%c\n", &c);
    ReadString(str);
    delchar(str, c);
    printf("%s\n", str);
    return 0;
}

输入样例:

a
happy new year

输出样例:

hppy new yer

*void delchar( char str, char c ); 代码实现

void delchar(char *str, char c)
{
	int i = 0;
	int j = 0;
	int n = 1;
	for (i = MAXN - 1; i >= 0;i--)
	{
		if (str[i] == c)
		{
			for (j = i; j < MAXN - n; j++)
			{
				str[j] = str[j + 1];
			}
			n++;//每删除一个字母数组的遍历就会少一个
		}
	}
}

你可能感兴趣的:(C语言)