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

相关推荐
To_OC11 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安16 小时前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者18 小时前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC1 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
用户938515635072 天前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC2 天前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
饼干哥哥2 天前
Reddit VOC调研太慢?搭一个AI专家团队半小时洞察任何品类|以猫用饮水机为例
人工智能·算法·ai编程