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

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

相关推荐
redtro9515 分钟前
【开发备忘】GeoServer相关两则:发布时间维ImageMosaic+客户端WMS样式
java·开发语言·spring
..空空的人25 分钟前
C++基于websocket的多用户网页五子棋 ---- 模块介绍1
开发语言·c++·websocket
代码不停29 分钟前
Java模拟算法题目练习
java·开发语言·算法
dangdang___go30 分钟前
自定义类型:结构体
c语言·结构体·结构体的声明·结构体的自引用
彡皮37 分钟前
基于Qt,调用千问7B大模型,实现智能对话
开发语言·qt·大模型·千问7b
LiLiYuan.1 小时前
Arrays类和List接口的关联
java·开发语言·windows·python
武子康1 小时前
Java-170 Neo4j 事务、索引与约束实战:语法、并发陷阱与速修清单
java·开发语言·数据库·sql·nosql·neo4j·索引
7澄12 小时前
Java 实战:投票统计系统(HashMap 应用)
java·开发语言·intellij-idea·交互·控制台·hashmap
zzzsde2 小时前
【C++】红黑树:使用及实现
开发语言·c++·算法
点云SLAM2 小时前
C++ 中的栈(Stack)数据结构与堆的区别与内存布局(Stack vs Heap)
开发语言·数据结构·c++·内存布局·栈数据结构·c++标准算法·heap内存分配