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

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

相关推荐
小小码农Come on5 分钟前
QT中窗口位置、相对位置、绝对位置
android·开发语言·qt
diediedei7 分钟前
C++中的适配器模式变体
开发语言·c++·算法
郝学胜-神的一滴16 分钟前
Python中的Mixin继承:灵活组合功能的强大模式
开发语言·python·程序人生
叫我:松哥17 分钟前
基于python强化学习的自主迷宫求解,集成迷宫生成、智能体训练、模型评估等
开发语言·人工智能·python·机器学习·pygame
晚霞的不甘17 分钟前
Flutter for OpenHarmony 创意实战:打造一款炫酷的“太空舱”倒计时应用
开发语言·前端·flutter·正则表达式·前端框架·postman
WKP941821 分钟前
线程并行控制CompletableFuture
java·开发语言
傻乐u兔26 分钟前
C语言进阶————数据在内存中的存储1
c语言·数据结构·算法
飞机和胖和黄27 分钟前
考研之C语言第二周作业
c语言·开发语言·考研
输出输入33 分钟前
MT4 EA 设计一次一单方法
开发语言
一起养小猫36 分钟前
OpenHarmony 实战中的 Flutter:深入理解 Widget 核心概念与底层原理
开发语言·flutter