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

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

相关推荐
QT 小鲜肉2 小时前
【个人成长笔记】将Try Ubuntu里面配置好的文件系统克隆在U盘上(创建一个带有持久化功能的Ubuntu Live USB系统)
linux·开发语言·数据库·笔记·ubuntu
Pointer Pursuit2 小时前
C++——二叉搜索树
开发语言·c++
澪吟2 小时前
C++ 从入门到进阶:核心知识与学习指南
开发语言·c++
热爱编程的小白白3 小时前
【Playwright自动化】安装和使用
开发语言·python
听风吟丶3 小时前
Java NIO 深度解析:从 BIO 到 NIO 的演进与实战
开发语言·python
学历真的很重要3 小时前
LangChain V1.0 Messages 详细指南
开发语言·后端·语言模型·面试·langchain·职场发展·langgraph
sali-tec3 小时前
C# 基于halcon的视觉工作流-章58-输出点云图
开发语言·人工智能·算法·计算机视觉·c#
lpfasd1233 小时前
Rust + WebAssembly:让嵌入式设备被浏览器调试
开发语言·rust·wasm
lion King7763 小时前
c++八股:explicit
开发语言·c++
初见无风3 小时前
4.3 Boost 库工具类 optional 的使用
开发语言·c++·boost