刪除A中與B相同的元素 目錄刪除A中與B相同的元素程式驗證輸出結果 程式 #include <stdio.h> /******************************************************************* * * file name: 刪除A中與B相同的元 ...
刪除A中與B相同的元素
目錄程式
#include <stdio.h>
/*******************************************************************
*
* file name: 刪除A中與B相同的元素
* author : [email protected]
* date : 2024-5-6
* function : 對字元串A進行處理,參照字元串B,只有字元串B中的字母在字元串A存在,則不分大小寫,從字元串A中刪除
* note : None
*
* CopyRight (c) 2024 [email protected] All Right Reseverd
*
* *****************************************************************/
char *string(char *strA, char *strB)
{
char *A = strA;
char *B = strB;
char *p = strA;
// 判斷字元串B是否到達末尾
while (*B)
{
// 判斷字元串B的當前字元是否屬於字母(大寫字母 or 小寫字母)
if ((*B < 'A' || *B > 'Z') && (*B < 'a' || *B > 'z'))
{
// 如果字元串B的字元不是字母,則向後偏移
B++;
continue;
}
// 讓字元串B中的每個字元都和字元串A中的所有字元進行比較
while (*A != '\0')
{
// 比較字元的ASCII碼,註意:不分大小寫
if ((*A == *B) || (*A == *B + 32) || (*A == *B - 32))
;
else
{
*p = *A;
p++;
}
A++;
if (*A == '\0')
{
*p = '\0';
}
}
// 初始化P和A的位置
A = strA;
p = strA;
B++;
}
return strA;
}
驗證
int main(int argc,
char const *argv[])
{
char A[] = "hHHeooHolloooo23ooo,world456";
char B[] = "l111H";
string(A, B);
printf("%s\n", A);
return 0;
}
輸出結果
eooooooo23ooo,word456