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

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

相关推荐
lly20240614 小时前
C 标准库 - <stdlib.h>
开发语言
少控科技14 小时前
QT新手日记035
开发语言·qt
青川学长14 小时前
Cursor + Qt Creator 混合开发指南
开发语言·qt
嫂子开门我是_我哥14 小时前
第十五节:文件操作与数据持久化:让程序拥有“记忆”
开发语言·python
是三好14 小时前
JUC并发编程
java·开发语言
想放学的刺客14 小时前
单片机嵌入式试题(第23期)嵌入式系统电源管理策略设计、嵌入式系统通信协议栈实现要点两个全新主题。
c语言·stm32·单片机·嵌入式硬件·物联网
哈哈不让取名字14 小时前
分布式日志系统实现
开发语言·c++·算法
3GPP仿真实验室14 小时前
【MATLAB源码】6G:感知辅助毫米波 MIMO 信道估计仿真平台
开发语言·matlab·智能电视
知无不研14 小时前
实现一个整形栈
c语言·数据结构·c++·算法
catchadmin14 小时前
Laravel12 + Vue3 的免费可商用 PHP 管理后台 CatchAdmin V5.1.1 发布
开发语言·php