news 2026/3/4 15:16:44

删除指定字符.c

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
删除指定字符.c

#include <stdio.h>
#define MAXN 20

void delchar( char *str, char c );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */

int main()
{
char str[MAXN], c;

scanf("%c\n", &c);
ReadString(str);
delchar(str, c);
printf("%s\n", str);

return 0;
}
void delchar( char *str, char c )
{
int i=0,j=0;
while(str[i]!='\0'){
if(str[i]!=c){
str[j]=str[i];
j++;}
i++;
}
str[j]='\0';
}
void ReadString( char s[] ) {
// 读取字符串(支持带空格,缓冲区1000足够日常测试)
fgets(s, 1000, stdin);
// 去除fgets读取的换行符,保证字符串格式正确
int i = 0;
while (s[i] != '\0') {
if (s[i] == '\n') {
s[i] = '\0';
break;
}
i++;
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/24 15:24:58

C++多线程编程避坑宝典(死锁预防的8个黄金法则)

第一章&#xff1a;C多线程死锁问题的根源剖析在C多线程编程中&#xff0c;死锁是导致程序停滞不前的常见问题。其根本原因在于多个线程对共享资源的竞争访问缺乏合理的同步控制&#xff0c;导致彼此相互等待对方释放锁&#xff0c;从而陷入永久阻塞状态。死锁的四大必要条件 互…

作者头像 李华
网站建设 2026/3/4 3:35:48

C++26契约编程新特性:如何利用静态/动态检查提升代码健壮性

第一章&#xff1a;C26契约编程概述C26 引入的契约编程&#xff08;Contract Programming&#xff09;机制旨在提升代码的可靠性与可维护性&#xff0c;通过在函数接口中显式声明前置条件、后置条件和断言&#xff0c;使程序逻辑更加清晰&#xff0c;并为编译器和运行时系统提供…

作者头像 李华
网站建设 2026/2/27 13:14:48

C++内核优化实战案例:一个循环优化让系统吞吐量提升7倍

第一章&#xff1a;C内核性能优化的挑战与机遇在现代高性能计算、实时系统和资源受限环境中&#xff0c;C 内核的性能优化成为决定系统成败的关键因素。尽管 C 提供了对硬件的精细控制和高效的执行能力&#xff0c;但充分发挥其潜力仍面临诸多挑战&#xff0c;同时也蕴藏着巨大…

作者头像 李华
网站建设 2026/3/1 18:06:25

【C++26任务队列深度解析】:揭秘新标准中队列大小控制的5大核心机制

第一章&#xff1a;C26任务队列大小控制的演进与意义随着并发编程在现代软件系统中的广泛应用&#xff0c;任务调度机制的可控性与稳定性成为关键设计考量。C26标准在并发设施方面引入了对任务队列大小的显式控制机制&#xff0c;标志着标准库在线程池与异步执行模型上的进一步…

作者头像 李华
网站建设 2026/2/27 8:23:46

C++26反射即将上线:5个代码示例带你提前掌握未来标准

第一章&#xff1a;C26反射特性概览C26 正在为现代 C 引入原生反射支持&#xff0c;这标志着语言在元编程能力上的重大飞跃。通过编译时反射&#xff0c;开发者能够直接查询和操作类型、变量、函数等程序结构的信息&#xff0c;而无需依赖宏或复杂的模板技巧。核心目标与设计原…

作者头像 李华
网站建设 2026/3/2 7:56:32

【C++网络错误诊断手册】:3步快速定位并修复Socket通信异常

第一章&#xff1a;C网络编程中的Socket通信基础 在C网络编程中&#xff0c;Socket&#xff08;套接字&#xff09;是实现网络通信的核心机制。它提供了一种跨网络的进程间通信方式&#xff0c;允许不同主机上的应用程序通过TCP/IP协议进行数据交换。Socket接口源于Berkeley So…

作者头像 李华