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

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

相关推荐
c7_ln13 分钟前
MYSQL C_API使用全解
c语言·数据库·mysql
hudawei99625 分钟前
kotlin中withContext,async,launch几种异步的区别
android·开发语言·kotlin
消失的旧时光-194329 分钟前
Kotlin 常用语法糖完整整理
android·开发语言·kotlin
每次的天空33 分钟前
Android-重学kotlin(协程源码第一阶段)新学习总结
开发语言·学习·kotlin
Dovis(誓平步青云)35 分钟前
探索飞算 JavaAI 进阶:解锁高效Java开发的新维度
java·开发语言·飞算java
CS semi36 分钟前
C++每日刷题day2025.7.10
开发语言·c++
还听珊瑚海吗41 分钟前
Python(一)
开发语言·python
AI+程序员在路上2 小时前
Qt6中模态与非模态对话框区别
开发语言·c++·qt
nbsaas-boot7 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
chao_7897 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode