本篇主要介绍C语言字符串中的相关操作,然后分析两个C语言实例——在母串中指定删除子串、在母串中截取子串
一、字符串
了解C 语言的都知道,C语言中没有字符串类型,所以C语言是用字符串常量、字符指针、字符数组来表示字符串。这些字符串都是以 NULL、’\0’或者ASCII==0来结尾。说白了就是一个个字符组成一串有序序列,就是C语言中的字符串了。
1、字符串常量:
字符串常量是不可被修改的,它的定义方法是这样的:
#define N "hello"
用一对双引号(" ")括起的一串字符来表示字符串常量,如上面的"hello"
2、字符指针表示字符串:
char *message = "Hello World!";
遍历字符指针
while(*message != '\0'){
printf("%c ",*message++);
}
3、字符数组:
字符串还可以存储于字符数组或动态分配的内存中。定义一个字符数组和定义一个普通数组一样,不同的是字符数组中存放的是字符数据而已
定义字符数组
char charArray[] = "Hello World!"; // 声明并初始化一个字符数组
遍历字符数组
for(i = 0; i < len; i++)
{
if( str[i] <= 'z' && str[i] >= 'a')
{
str[i] = str[i] - 32;
}
}
以上都C语言字符串的基本概念,下面分享两个实例
二、删除指定的字符
1、分析:
(1)我们需要写一个函数来删除指定的字符串,所以重点就在这个函数上;
(2)在函数中,需要用一个循环来遍历母串中的所有字符,循环中将遍历到的字符与输入的字符进行比较;
(3)如果找到了就删除它,其实就是将后续的字符往前覆盖
(4)核心算法:
while(str[i] != '\0')
{
if(str[i] == c) //找到需要删除的字符了
{
for(j=i; str[j]!='\0'; j++)