代码如下:
#include<stdio.h>
void dele(char *s)
{
char *p, *q;
p = q = s;
while(*q != '\0')
{
if(*p>='a'&& *p <= 'z' || *p >= 'A' && *p <= 'Z')
p++;
else//p指向非字符
{
if((*q>='a'&& *q <= 'z' || *q >= 'A' && *q <= 'Z')&& q >= p)//q在p后面 且q指向字符
{
*p = *q;
q++;
}
else q++;//q在p前面或者q为非字符
}
}
p = s;
while(*p>='a'&& *p <= 'z' || *p >= 'A' && *p <= 'Z')
p++;
*p = '\0';
}
void main()
{
void dele(char *);
char *p;
char str[] = {"jdhi738420;s'f.fmp?463><<"};
dele(str);
p = str;
while(*p != '\0')
printf("%c", *p++);
}
运行结果: