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

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

相关推荐
资生算法程序员_畅想家_剑魔6 分钟前
Java常见技术分享-12-多线程安全-锁机制
java·开发语言
wifi chicken10 分钟前
数组遍历求值,行遍历和列遍历谁更快
c语言·数据结构·算法
胡楚昊22 分钟前
NSSCTF动调题包通关
开发语言·javascript·算法
2401_8370885029 分钟前
简要总结 HashSet 和 HashMap(Java)
java·开发语言
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于Java的家政服务管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
小白学大数据1 小时前
Java 爬虫对百科词条分类信息的抓取与处理
java·开发语言·爬虫
zmzb01031 小时前
C++课后习题训练记录Day56
开发语言·c++
编程小Y1 小时前
C++ Insights
开发语言·c++
南棱笑笑生1 小时前
20251224给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时确认ssh服务【内置dropbear】
linux·c语言·ssh·rockchip
小c君tt1 小时前
QT中想在QTextEdit控件中使用Qslog日志输出出现问题原因及解决方法
开发语言·qt