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

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

相关推荐
格林威13 小时前
工业相机 SDK 在 Docker 容器中的部署与权限配置(含 USB/GigE)
开发语言·人工智能·数码相机·计算机视觉·docker·容器·工业相机
哎嗨人生公众号13 小时前
手写求导公式,让轨迹优化性能飞升,150ms变成9ms
开发语言·c++·算法·机器人·自动驾驶
code_whiter13 小时前
C++6(模板)
开发语言·c++
lcj251113 小时前
【C语言】数据在内存中的存储
c语言·数据结构
一只旭宝13 小时前
【C++ 入门精讲1】初始化、const、引用、内联函数 | 超详细手写笔记(附完整代码)
开发语言·c++
XiYang-DING13 小时前
【Java】二叉搜索树(BST)
java·开发语言·python
Lyyaoo.13 小时前
【JAVA基础面经】进程安全问题(synchronized and volatile)
java·开发语言·jvm
Andya_net13 小时前
Java | 基于 Feign 流式传输操作SFTP文件传输
java·开发语言·spring boot
无限进步_13 小时前
【C++】多重继承中的虚表布局分析:D类对象为何有两个虚表?
开发语言·c++·ide·windows·git·算法·visual studio
清水白石00814 小时前
向后兼容的工程伦理:Python 开发中“优雅重构”与“责任担当”的平衡之道
开发语言·python·重构