void Del(char *m,int a)
{
int i;
for(i=0;i<20-a;i++)
*(m+i)=*(m+i+1);
//*(m+i+1)='\0';
}
只要将最后一段代码注释掉便可运行,从调试来看*(m+i)=*(m+i+1);这句已将'\0'复制了。
C语言编写的时候,如果调用的函数在本函数的后面的话就需要提前申明,不然编译器不会知道你定义的函数到底是什么。只有提前申明了才知道那是一个函数,编译才不会出错。由于你的main函数是最开始的,所以后面2个函数需要提前申明一下。如下所示:
void Find(char *s,char let);
void Del(char *m,int a);
是正常的啊,我刚都运行起来了,试了两个结果也是对的。
你的编译器是不是要把main函数放在最后啊
这程序没错。
建议吧定义和方法调用换一下位置