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

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

相关推荐
工頁光軍2 分钟前
基于Python的Milvus完整使用案例
开发语言·python·milvus
wregjru5 分钟前
【网络】8.五种 I/O 模型与多路转接详解
开发语言·php
fff9811189 分钟前
C++与Qt图形开发
开发语言·c++·算法
xht083220 分钟前
PHP vs Python:编程语言终极对决
开发语言·python·php
计算机安禾24 分钟前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
23.24 分钟前
【Java】char字符类型的UTF-16编码解析
java·开发语言·面试
无小道28 分钟前
关于mmap的理解和使用
开发语言·mmap
froginwe1132 分钟前
jQuery 隐藏/显示详解
开发语言
码云数智-大飞41 分钟前
分布式数据库:2026年数据架构的基石与挑战
开发语言
查古穆1 小时前
python进阶-推导式
开发语言·python