从一个字符串中删除所有的某个字符
从一个字符串中删除所有的某个字符
今天的联发科笔试题,当时没做好,后来重新写了一遍
代码块
例如:
#include<stdio.h>
#include<string.h>
char* delChar(char *str,char del)
{
/*int i;
char *p,*q={0};
p=str;
for(i=0;i<strlen(str)-1;i++)
{
if(*(str+i)==del)
{
p=str+i+1;
}
*q++=p++;
}
str=q;
*/
unsigned int i,j;
char *p=str;
for(i=0;str[i]!='\0';/*i<strlen(str)-1;*/i++)
{
//printf("1 %d,%c,%s\n",i,str[i],str);
if(str[i]==del)
{
while(str[i]==del)
{
for(j=i;str[j]!='\0';j++)
{
str[j]=str[j+1];
}
//printf("2 %d,%c,%s\n",i,str[i],str);
}
}
}
return str;
}
void main()
{
char strl[20]="baceaachaaaaj";
printf("3 %s\n",strl);
delChar(strl,'a');
printf("4 %s\n",strl);
}