这个程序为什么运行不了?
#include<stdio.h>#include<string.h>
#include<stdlib.h>
void deldigit(char *s)//删除字符串s中的数字
{
int i,k=0,len;
char *t;
len=strlen(s);
t=(char*)malloc(len+1);
if(!t)
{
printf("ERROR!");
return;
}
for(i=0;i<len;i++)
{
if(!(*(s+i)>='0'&&*(s+i)<='9'))
{
t[k++]=*(s+i);
}
}
t[k]='\0';
strcpy(s,t);//此处调试不通过,为什么?
free(t);
}
void reverse(char *s,int len)
{
char ch;
if(len>1)
{
ch=*s;
*s=*(s+len-1);
*(s+len-1)=ch;
reverse(s++,len-2);
}
}
void main()
{
char *s="a1b2c3d4e5f6g";
printf("%s,%d\n",s,strlen(s));
deldigit(s);
printf("%s,%d\n",s,strlen(s));
}