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

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

相关推荐
方也_arkling10 分钟前
【JS】定时器的使用(点击开始计时,再次点击停止计时)
开发语言·前端·javascript
不染尘.13 分钟前
虚拟网络环境及socket概述
linux·c语言·网络·windows·计算机网络
一往无前fgs16 分钟前
PHP语言开发基础入门实践教程(零基础版)
开发语言·php
不会c嘎嘎16 分钟前
初识QT -- 第一个QT程序
开发语言·qt
加成BUFF20 分钟前
C++入门详解2:数据类型、运算符与表达式
c语言·c++·计算机
ByteX22 分钟前
Java8-Function创建对象替代Builder
java·开发语言
xiaowu08023 分钟前
C# GetType的常规用法汇总
开发语言·c#
Trouvaille ~24 分钟前
【Linux】文件描述符与重定向原理:揭开Linux文件操作的神秘面纱
linux·运维·服务器·开发语言·内核·进程·重定向
熬了夜的程序员25 分钟前
【Rust学习之路】第 0 章:理解 Rust 的核心哲学
开发语言·学习·rust
MoonBit月兔28 分钟前
海外开发者实践分享:用 MoonBit 开发 SQLC 插件(其二)
开发语言·javascript·数据库·redis·mysql·moonbit