下面程序的功能是删除字符串中第一次出现的a字符。
#include <stdio.h>
#include <string.h>
void fun(char *x,int n,*t);
{ int i,k=0;
x[n]=‘a’;x[n+1]=’\0’;
while(x[k]!=’a’) k++;
if(k==n){*t=0;break;}
else
{ for(i=k;i<n;i++)
x[i]=x[i+1];
x[i]=’\0’;
}
}
main()
{
char x[20];
int len,t;
gets(x);
puts(x);
len=strlen(x);
fun(x,len,t);
if(t==0) printf(“Not exist!\n”);
else puts(x);
}
#include <stdio.h>
#include <string.h>
int fun(char *x,int n,int t)
{ int i,k=0;
x[n]='a';x[n+1]='\0';
while(x[k]!='a')
k++;
if(k==n) //如果a出现的位置是最后人为改动处的a
{
t=0;
return t ;
}
else //如果a出现的位置不是最后人为改动处的a
{ for(i=k;i<n;i++) //从a出现的位置开始,一次往前挪动
x[i]=x[i+1]; //完成消除的任务
x[i-1]='\0'; //把上面贴在末尾的a消去
}
return t ;
}
main()
{
char x[20];
int len,t;
gets(x);
puts(x);
len=strlen(x);
t=fun(x,len,t);
if(t==0) printf("Not exist!\n");
else puts(x);
}