c小程序——删除字符串中间“*”号 例:***a*bc**def**g***

本文介绍了一个C语言程序,该程序能够从用户输入的字符串中删除所有星号(*)字符。程序首先找到字符串中第一个非星号字符的位置,并将字符串中除星号外的其他字符复制到新的位置,最后删除剩余的星号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "stdio.h"



void delSpeCh(char *s)

{

    char *f, *e;

    f = e = s;           //用字符指针e, f指向串s

    int i, j;

    

    while(*e)            //将指针e定位到字符串中最后一个字符

        e++;

    e--;                 //指针从’\0‘向前一一位

    while(*e == '*')     //将指针e指向字符串中最后一个字符

        e--;

    while(*f == '*')     //将指针f指向字符串中第一个字符

        f++;


    for (i = 0 , j = 0; &f[i] < e; i++)

    {

        if (f[i] != '*')

        

            f[j++] = f[i];

        

    }

    for (i = 0; e[i]; i++, j++)    //将指针e至字符串尾部的所有字符前移

        f[j] = e[i];

    

    f[j] = '\0';                 //字符串末尾追加结束标志

    

    

    

}

int main(int agrc, char *agrv[])

{

    char s[100];

    printf("请输入字符串:\n");

    gets(s);   //输入字符

    

    delSpeCh(s);

    

    printf("删减‘*‘之后的字符串:\n");

    puts(s);

    

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值