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);
}

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

相关推荐
潲爺1 天前
《Java 8-21 高频特性实战(上):5 个场景解决 50% 开发问题(附可运行代码)》
java·开发语言·笔记·学习
资生算法程序员_畅想家_剑魔1 天前
算法-回溯-14
java·开发语言·算法
w_zero_one1 天前
Java的Vert.x框架结合Thymeleaf(TH)模板语言
java·开发语言·idea
咸鱼2.01 天前
【java入门到放弃】网络
java·开发语言·网络
阿里嘎多学长1 天前
2025-12-28 GitHub 热点项目精选
开发语言·程序员·github·代码托管
zmzb01031 天前
C++课后习题训练记录Day58
开发语言·c++
会员果汁1 天前
算法-并查集-C
c语言·开发语言·算法
熊猫钓鱼>_>1 天前
基于Trae/Whisper/FFmpeg与Knowledge Graph MCP技术开发语音生成会议纪要智能应用
开发语言·人工智能·python·深度学习·ffmpeg·whisper·trae
七夜zippoe1 天前
Python迭代器与生成器深度解析:从原理到协程应用实战
开发语言·python
葡萄城技术团队1 天前
在 Java 中优化 MySQL 查询以提升性能
java·开发语言·mysql