C语言之删除字符串中间和后面的*

复制代码
#include <stdio.h>
void str1(char a[],char b[]){
    int k=0;
    _Bool flag=1;
    for(int i=0;a[i]!='\0';i++){
        if(a[i]!='*') flag=0;
        if(flag) b[k++]=a[i];
        if(!flag&&a[i]!='*') b[k++]=a[i];
    }
}
int main(){
    char a[100] = "****acb*da**c***da**sfa**fa";
    char b[100] ="\0";
    str1(a,b);
    printf("%s",b);
}

采用flag的控制方式,有效控制分支。

相关推荐
01_ice5 小时前
Java多态
java·开发语言
wuweijianlove5 小时前
算法中的记忆化思想与重复子问题优化的技术5
算法
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第78题】【Mysql篇】第8题:解释下最左前缀原则?
java·开发语言·数据库·mysql·面试
bucenggaibian6 小时前
C语言程序设计作业题
c语言·程序设计·常量·解答·作业题
小江的记录本6 小时前
【JVM虚拟机】垃圾回收GC:垃圾判定算法:引用计数法、可达性分析算法(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·spring·面试
彦楠6 小时前
指定Tomcat运行的JDK地址
java·开发语言·tomcat
csbysj20206 小时前
Rust 组织管理
开发语言
Hello.Reader6 小时前
算法基础(十四)—— 随机化快速排序为什么平均表现很好
算法
清水白石0086 小时前
构建企业级 Python 服务:配置、日志、指标与追踪的稳健之道
开发语言·python·elasticsearch
lsx2024066 小时前
特效(Effect)
开发语言