C语言之删除中间的*

复制代码
#include <stdio.h>

void fun(char str[]){
    char *p1,*p2,*p3;
    p1 = str;
    p2=str;
    p3=str;
    while(*p3) p3++;
    p3--;
    while(*p1=='*') p1++;
    while(*p3=='*') p3--;
    p2=p1;
    while(p2<p3){
        if(*p2=='*') {
            p2++;
            continue;
        }
        else *p1++=*p2++;
    }
    while(*p2) *p1++=*p2++;
}

int main(){
    char str[100] = "***A*BC*DEF*G******";
    fun(str);
    printf("%s",str);
}

注意两个条件不能同时用++,要不然会实现两次++

相关推荐
38242782719 小时前
python3网络爬虫开发实战 第二版:绑定回调
开发语言·数据库·python
小麦嵌入式19 小时前
Linux驱动开发实战(十三):RGB LED驱动并发控制——自旋锁与信号量对比详解
linux·c语言·驱动开发·stm32·单片机·嵌入式硬件·物联网
星月心城19 小时前
面试八股文-JavaScript(第五天)
开发语言·javascript·ecmascript
wjs202419 小时前
PostgreSQL 时间/日期处理指南
开发语言
wniuniu_19 小时前
ceph心跳机制
开发语言·ceph·php
阿里嘎多学长19 小时前
2025-12-25 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Oxye20 小时前
服务器内存不足导致程序没完全起起来,报错Required type must not be null
java·开发语言
乾元20 小时前
自动化补丁评估与策略回滚:网络设备固件 / 配置的风险管理
运维·开发语言·网络·人工智能·架构·自动化
2501_9167665420 小时前
【Java】static关键字与类的加载顺序
java·开发语言
山峰哥20 小时前
SQL查询优化秘籍:从Explain分析到性能飞跃
开发语言·数据库·sql·oracle·性能优化·系统优化