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

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

相关推荐
blog_wanghao12 小时前
基于Qt的串口调试助手
开发语言·qt
果汁华13 小时前
Typer:基于类型提示的现代Python CLI框架
开发语言·网络·python
Fanfanaas13 小时前
Linux 基础开发工具(二)
linux·运维·服务器·c语言
赵药师13 小时前
多进程-生产者消费者C++实现
java·开发语言·jvm
雾岛听蓝14 小时前
Linux线程基础
linux·开发语言·经验分享
zhangzeyuaaa14 小时前
Python 异常机制深度剖析
开发语言·python
whitelbwwww14 小时前
C++基础--类型、函数、作用域、指针、引用、文件
开发语言·c++
leaves falling14 小时前
C/C++ const:修饰变量和指针的区别(和引用底层关系)
c语言·开发语言·c++
网域小星球14 小时前
C 语言从 0 入门(十二)|指针与数组:数组名本质、指针遍历数组
c语言·算法·指针·数组·指针遍历数组
Tairitsu_H14 小时前
C语言:排序(一)
c语言·数据结构·排序