给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀

给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作

#include 
#include 

int is (char a[],char b[])         //is函数作用是判断a数组结尾是否和b数组相同,若否返回0,否则把a数组后缀处换为/0并返回0
{
    int n1=strlen(a),n2=strlen(b);
    int i,j;
    for (i=n1-n2,j=0;iif(a[i]!=b[j])
        {
            return 0;
        }

    }
    a[n1-n2]='\0';
    return 1;

}
int main()
{
    char s1[100];
    gets(s1);
    int n1=strlen(s1);
    char b[2]={'e','r'};
    char c[2]={'l','y'};
    char d[3]={'i','n','g'};
    if (is(s1,b))
    {

        printf("%s",s1);
        return 0;
    }
        if (is(s1,c))
    {

        printf("%s",s1);
        return 0;
    }
        if (is(s1,d))
    {

        printf("%s",s1);
        return 0;
    }

    printf("%s",s1);


    return 0;
}


输入referer输出仍为referer

新学了指针,想尝试利用函数对字符串判断+处理,但是无效

char b[2]={'e','r'};
char c[2]={'l','y'};
char d[3]={'i','n','g'};
改为
char b[]="er";
char c[]="ly";
char d[]="ing";
====
你的写法有错误,是因为这三个字符串没有字符串结束符。用strlen计算的长度不是字符串实际的长度。