本题要求实现一个删除字符串中的指定字符的简单函数。 函数接口定义: void delchar( char *str, char c ); 其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。 裁判测试程序样例: #include <stdio.h> #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; } void delchar( char *str, char c ) { int i,j; int m=strlen(str); for(i=j=0;i<m;i++) if(str[i]!=c) str[j++]=str[i]; str[j]='\0'; }解释在题目要求下这段代码
时间: 2024-03-04 20:51:33 浏览: 102
Delete-String.rar_c string_删除字符
这段代码实现了一个删除字符串中指定字符的函数delchar,其接受两个参数:char *str表示传入的字符串,char c表示待删除的字符。函数的实现过程如下:
1. 获取字符串str的长度m,用于循环遍历字符串。
2. 通过两个指针i、j来遍历字符串str,其中i用于遍历每个字符,j用于记录被保留的字符的位置。
3. 在遍历过程中,如果当前字符不等于待删除的字符c,则将其保存到j位置,并且j自增1。
4. 遍历结束后,将字符串str的末尾设置为'\0',表示字符串的结束。
5. 函数执行完毕,字符串中所有出现的待删除字符c都被删除了。
需要注意的是,这段代码中的字符串处理函数strlen()和strcpy()需要引入string.h头文件才能使用。
阅读全文