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的控制方式,有效控制分支。

相关推荐
旖-旎几秒前
《LeetCode 646 最长数对链 || LeetCode 1143 最长公共子序列》
c++·算法·leetcode·动态规划
Frostnova丶18 分钟前
(15)LeetCode 189. 轮转数组
数据结构·算法·leetcode
罗超驿27 分钟前
6.Java LinkedList深度解析:从链表原理到源码实践
java·开发语言·链表
2501_9481069130 分钟前
计算机毕业设计之jsp物业管理系统
java·大数据·开发语言·汽车·课程设计
逝水无殇41 分钟前
C# 反射详解
开发语言·后端·c#
Lumos1861 小时前
故障保护与鲁棒性(十七)
算法
xlxxy_1 小时前
sap获取批次特性报表
java·linux·开发语言·前端·数据库·abap·mm
手写码匠1 小时前
从零实现大模型推理引擎:Continuous Batching 与动态调度系统深度解析
人工智能·深度学习·算法·aigc
北冥you鱼1 小时前
Go语言常用包使用指南:从标准库到第三方利器
开发语言·microsoft·golang
俺不中嘞1 小时前
python常用函数
开发语言·python