怎样用函数删去一个字符串中的其中任意一个字符,以下程序有什么错误?

#include
#include
char a[100]={"I am a superman!"},s[100];
int l;
int delete(char c)
{
int i,j=0;
for(i=0;i<l;i++)
{
if(a[i]==c)
continue;
else
s[j++]=a[i];
}
s[j]='\0';
return 0;
}
int main()
{
char c;
l=strlen(a);
printf("要删去的字符:");
scanf("%c",&c);
delete(c);
puts(s);
return 0;
}

如果问题得到解决,请点我回答左上角的采纳。

没发现错误,但是因为delete是c++的关键字,如果你是c++,delete需要改名,c语言不需要。

#include "stdio.h"
#include "string.h"

char a[100]={"I am a superman!"},s[100];
int l;

int _delete(char c)
{
    int i,j=0;
    for(i=0;i<l;i++)
    {
        if(a[i]==c)
            continue;
        else
            s[j++]=a[i];
    }
    s[j]='\0';
    return 0;
}
int main()
{
    char c;
    l=strlen(a);
    printf("要删去的字符:");
    scanf("%c",&c);
    _delete(c);
    puts(s);
    return 0;
}

图片说明