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

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

相关推荐
Stream_Silver1 分钟前
【Agent学习笔记1:Python调用Function Calling,阿里云API函数调用与DeepSeek API对比分析】
开发语言·python·阿里云
froginwe112 分钟前
CSS3 多媒体查询实例
开发语言
naruto_lnq6 分钟前
C++中的工厂方法模式
开发语言·c++·算法
独自破碎E6 分钟前
LCR_019_验证回文串II
java·开发语言
一切尽在,你来8 分钟前
C++多线程教程-1.2.3 C++并发编程的平台无关性
开发语言·c++
坚持就完事了10 分钟前
Java中的一些关键字
java·开发语言
雨季66620 分钟前
Flutter 三端应用实战:OpenHarmony “专注时光盒”——在碎片洪流中守护心流的数字容器
开发语言·前端·安全·flutter·交互
新缸中之脑27 分钟前
Moltbook 帖子精选
开发语言·php
寄存器漫游者35 分钟前
数据结构 C语言 顺序栈
java·c语言·数据结构
xyq202438 分钟前
jQuery Mobile 表单选择
开发语言