何洛林 2021-07-01 18:44 采纳率: 50%
浏览 30
已采纳

日常不会,,,,,,,,,,,,,,,

假定字符串中只包含字母和,编写函数删除字符串中字母前面的,并在main函数中调用并输出。 例如:字符串为ADFEG,程序执行后应该输出,ADFEG*。

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-07-01 18:52
    关注

    代码如下,如有帮助,请帮忙采纳一下,谢谢。

    #include <stdio.h>
    
    void fun(char* s)
    {
        char* t;
        int i,len = 0;
        int endpos =0;
        char *lst;
        //计算字符串的长度
        while(s[len] != '\0')
            len++;
        //从后往前找第一个非*字符
        endpos=len -1;
        while(s[endpos] == '*')
            endpos--;
    
        //abcde******  11 - 4 -1//len -1 - endpos
    
        s[endpos+1] = '\0';
        while(*s != '\0')
        {
            if(*s == '*')
            {
                t =s;
                while(*t != '\0')
                {
                    *t = *(t+1);
                    t++;
                }
                t--;
                *t = '\0';
            }else
                s++;
        }
        //补齐最后的*
        for (i=0;i<len-endpos-1;i++)
        {
            *s = '*';
            s++;
        }
        *s = '\0';
    }
    
    int main()
    {
        char buf[100]={0};
        gets(buf);
        fun(buf);
        printf("%s\n",buf);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?