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

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

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