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

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

相关推荐
码农水水4 小时前
国家电网Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·网络·分布式·面试·wpf
浮尘笔记5 小时前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
咕噜咕噜啦啦5 小时前
Java期末习题速通
java·开发语言
BHXDML5 小时前
第七章:类与对象(c++)
开发语言·c++
梦梦代码精6 小时前
BuildingAI vs Dify vs 扣子:三大开源智能体平台架构风格对比
开发语言·前端·数据库·后端·架构·开源·推荐算法
Root_Hacker6 小时前
include文件包含个人笔记及c底层调试
android·linux·服务器·c语言·笔记·安全·php
又见野草6 小时前
C++类和对象(中)
开发语言·c++
kgduu7 小时前
js之表单
开发语言·前端·javascript
钊兵7 小时前
java实现GeoJSON地理信息对经纬度点的匹配
java·开发语言
毕设源码-钟学长7 小时前
【开题答辩全过程】以 基于Python的健康食谱规划系统的设计与实现为例,包含答辩的问题和答案
开发语言·python