原题目要求:写一段代码,给出一个字符c,一段字符串str[MAXN],要求该代码中的delchar函数能将str[MAXN]中的与c相同的字符删除.
以下是本人代码:
#include <stdio.h>
#define MAXN 20
void delchar(char *str, char c);
int main()
{
char str[MAXN]={"happy new year"}, c;
scanf("%c\n", &c);
delchar(str, c);
printf("%s\n", str);
return 0;
}
void delchar(char *str, char c)
{
char *p=str;
while(*p)
{
if(*p != c)
*str++ = *p;
*p++;
}
*str=0;
}
如何理解 delchar 这段函数?