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

相关推荐
淘矿人14 分钟前
DeepSeek V4对决Claude 4.8:AI模型终极横评
java·开发语言·人工智能·python·sql·php·pygame
xgstb14 分钟前
C语言随机数生成技巧
c语言·伪随机数·time函数·srand函数·随机数生成
玖釉-28 分钟前
编辑距离(Edit Distance)——从字符串相似度到动态规划经典模型
算法·leetcode·动态规划
skywalk816341 分钟前
你希望的「多路捕获」语法是哪种形式?具体而言,「捕获 类型为 e」指的是什么?
开发语言·编程
c2385641 分钟前
c/c++中的二叉树进阶
c语言·c++·算法
两年半的个人练习生^_^1 小时前
JMM 进阶:彻底理解 volatile 实现原理
java·开发语言
晚风吹红霞1 小时前
C++模板进阶:非类型参数、特化、分离编译与优缺点解析
开发语言·c++
吴可可1231 小时前
Win7下C#开发AutoCAD首选版本
算法
小小龙学IT1 小时前
Go语言后端开发入门指南
开发语言·后端·golang
不会C语言的男孩1 小时前
C++ Primer 第8章:IO 库
开发语言·c++