c语言编写函数可以删除字符串中给定字符
时间: 2023-07-16 20:15:05 浏览: 106
是的,可以使用C语言编写一个函数来删除字符串中给定的字符。以下是一个示例函数:
```c
void removeChar(char *str, char c) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
这个函数接受两个参数:要操作的字符串和要删除的字符。它使用两个索引变量 `i` 和 `j` 来遍历字符串,将不等于要删除字符 `c` 的字符复制到 `j` 索引位置上,最后在字符串末尾加上一个空字符 `\0`。
例如,如果我们想要从字符串 `"Hello World!"` 中删除字符 `'o'`,我们可以这样调用该函数:
```c
char str[] = "Hello World!";
removeChar(str, 'o');
printf("%s\n", str); // 输出 "Hell Wrld!"
```
相关问题
用c语言实现编写函数,删除字符串中的给定字符
以下是用 C 语言实现删除字符串中给定字符的函数:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char ch) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ch) {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
int main() {
char str[100];
char ch;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
str[strcspn(str, "\n")] = '\0';
printf("Enter a character to delete: ");
scanf("%c", &ch);
delete_char(str, ch);
printf("String after deletion: %s\n", str);
return 0;
}
```
这个函数接受一个字符串和一个字符作为输入,然后删除字符串中所有出现的给定字符。该函数使用两个指针 `i` 和 `j` 遍历字符串,当遇到不是给定字符的字符时,将其复制到新字符串中,并将 `j` 指针向前移动。最后,将新字符串的结尾设为 `'\0'` 即可。
用C语言,编写函数,删除字符串中的给定字符
下面是一个示例C语言函数,可以删除字符串中的给定字符:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char ch) {
int i, j;
for (i = j = 0; str[i] != '\0'; i++) {
if (str[i] != ch) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100], ch;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
printf("Enter the character to delete: ");
scanf("%c", &ch);
delete_char(str, ch);
printf("Result: %s\n", str);
return 0;
}
```
这个函数接受两个参数:一个字符串和一个字符。它遍历字符串中的每个字符,如果字符不等于给定字符,则将其添加到新字符串中。最后,新字符串以空字符结尾,并替换原始字符串。
在主函数中,我们使用fgets函数读取输入字符串,然后使用scanf函数读取要删除的字符。最后,我们调用delete_char函数并打印结果。
阅读全文