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

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

相关推荐
小白学大数据1 分钟前
百科词条结构化抓取:Java 正则表达式与 XPath 解析对比
java·开发语言·爬虫·正则表达式
myloveasuka4 分钟前
int类型的取值范围(为什么负数比正数表示的范围多一位)
c语言·c++
程序员zgh9 分钟前
类AI技巧 —— 文字描述+draw.io 自动生成图表
c语言·c++·ai作画·流程图·ai编程·甘特图·draw.io
ss27313 分钟前
volatile的可见性、安全发布的秘密与ThreadLocal原理
java·开发语言
郝学胜-神的一滴15 分钟前
机器学习特征提取:TF-IDF模型详解与实践指南
开发语言·人工智能·python·程序人生·机器学习·tf-idf·sklearn
啥都不懂的小小白19 分钟前
JavaScript入门指南:从零开始掌握网页交互
开发语言·javascript·交互
半夏知半秋24 分钟前
rust学习-循环
开发语言·笔记·后端·学习·rust
维C泡泡26 分钟前
STL(初识string)
开发语言·c++
黎雁·泠崖28 分钟前
栈与队列之栈入门攻略:从核心概念到数组实现
c语言·数据结构
郝学胜-神的一滴29 分钟前
Linux线程使用注意事项:骈文技术指南
linux·服务器·开发语言·数据结构·c++·程序人生