char *DelStrAofStrB(char *strA, char *strB)
{
// 判断字符串B是否到尾部
while (*strB != '\0')
{
// 判断字符串B的当前字符是否属于字母(不论大小写)
if ((*strB < 'A' || *strB > 'Z') && (*strB < 'a' || *strB > 'z'))
{
// 如果字符串B的字符不是字母,则向后偏移
strB++;
continue;
}
// 让字符串B中的字符都和字符串A每个字符比较
while (*strA != '\0')
{
// 比较字符的ASCII码,不分大小写
if (*strB != *strA)
{
strA++; // 不相等的情况那么比较下一个
}
else
// 相等的情况下,该地址后的所有字符向前偏移-----注意的是循环结束strA的地址是不变的
for (int i = 0; strA[i] != '\0'; i++)
{
// 当前位置需要删除,该位置后整体前移
strA[i] = strA[i + 1];
}
}
}
return strA;
}```
标签:字符,删除,++,char,字符串,strB,strA
From: https://www.cnblogs.com/ikunkunkun/p/18175728