删除串中指定字符
//该代码不适用删除连续相同字符,改进(删除移动后,再次判断———循环)
#include <stdio.h>
#include "string.h"
int main()
{
//获取字符串
char str[] = "fsajgsalkg";
char c = 'a';
int i;
printf("%s\n", str);
printf("%d\n", strlen(str));
//遍历字符串
for(i=0; i<strlen(str); i++){
//删除字符a
if(str[i]==c){
int j;
for(j=i; j<strlen(str); j++){
str[j] = str[j+1];
}
}
}
printf("%s\n", str);
printf("%d\n", strlen(str));
return 0;
}
学习到:
- 该题思想
1遍历字符串,2找到指定字符;3删除字符(把后面的字符往前移动) - 指针变量,指针类型
指针类型:指针指向什么类型
指针变量:
eg:char *p
该指针的指向类型为char *
该指针的指针变量为p
指针:指向某一个变量
指针变量:存放指向某一个变量的地址 - 字符与字符串比较
字符:
定义并初始化:char ch = 'A';
使用字符变量ch
所见即所得
字符串:
定义并初始化:char ch[] = "i love you"
使用字符数组ch[]
还有一个看不见的结束标志符:'\0 - 计算字符串长度的的函数srelen()
参数:字符串名
返回值:字符串长度
在头文件"string.h"中
eg:length = strlen(arr);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律