c语言、实现一个删除字符串中的指定字符的简单函数。
时间: 2023-03-12 21:55:53 浏览: 174
可以使用以下函数来实现:char *removeChar(char *str, char ch) { int j, k; int n = strlen(str); for (j=k=0; j<n; j++) { if (str[j] != ch) { str[k++] = str[j]; } } str[k] = '\0'; return str; }
相关问题
要求用c语言实现一个删除字符串中的指定字符的简单函数。
以下是一个简单的C语言函数,用于删除字符串中的指定字符:
```c
#include <stdio.h>
#include <string.h>
void removeChar(char *str, char c) {
int i, j=0;
for(i=0; str[i]!='\0'; i++) {
if(str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100], c;
printf("Enter a string: ");
fgets(str, 100, stdin);
printf("Enter the character to remove: ");
scanf("%c", &c);
removeChar(str, c);
printf("Result: %s", str);
return 0;
}
```
该函数使用了一个 for 循环,遍历输入的字符串中的所有字符。如果当前字符不等于要删除的字符,则将其添加到新字符串中。最后,将新字符串作为输出。
示例输出:
```
Enter a string: hello world
Enter the character to remove: o
Result: hell wrld
```
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];
}
}
str[j] = '\0';
}
int main() {
char str[100];
char ch;
printf("请输入字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &ch);
delete_char(str, ch);
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
函数 `delete_char` 接受两个参数:一个是要删除字符的字符串 `str`,另一个是要删除的字符 `ch`。它使用两个指针 `i` 和 `j` 来遍历字符串,当 `str[i]` 不等于要删除的字符 `ch` 时,将其复制到 `str[j]` 中,然后将指针 `j` 向前移动一位。最后在 `str[j]` 的位置上添加一个字符串结束符号 `\0`。
在 `main` 函数中,我们可以输入一个字符串和要删除的字符,并将其传递给 `delete_char` 函数。最后,打印出删除后的字符串。
希望能对你有所帮助!