在C語言中,可以通過循環遍歷字符串并判斷字符是否是指定字符,然后將非指定字符復制到新的字符串中,從而刪除字符串中的指定字符。以下是一個示例代碼:
#include <stdio.h>
#include <string.h>
void removeChar(char *str, char c) {
int len = strlen(str);
int j = 0;
for (int i = 0; i < len; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0'; // 添加字符串結尾的空字符
}
int main() {
char str[100];
char c;
printf("請輸入字符串:");
fgets(str, sizeof(str), stdin);
printf("請輸入要刪除的字符:");
scanf("%c", &c);
removeChar(str, c);
printf("刪除指定字符后的字符串為:%s", str);
return 0;
}
在這個示例代碼中,使用removeChar
函數來刪除字符串中的指定字符。該函數接受一個指向字符串的指針和一個字符作為輸入參數。
首先,使用strlen
函數獲取字符串的長度,然后使用循環遍歷字符串中的每個字符。如果當前字符不是指定字符,則將其復制到新的字符串中,并使用變量j
來記錄新字符串的下一個位置。
最后,將新字符串的最后一個字符設置為字符串結尾的空字符,表示結束。
在 main
函數中,使用 fgets
函數讀取用戶輸入的字符串,并使用 scanf
函數讀取用戶輸入的要刪除的字符。
最后,調用 removeChar
函數刪除指定字符,并打印刪除指定字符后的字符串。