c语言分别用字符数组和字符指针作函数参数,用两种方法编程实现如下功能:在字符串中删除与某字符相同的字符。
时间: 2024-03-02 11:52:21 浏览: 175
方法一:使用字符数组作为函数参数
```c
void deleteChar(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';
}
```
使用方法:
```c
int main() {
char str[] = "hello, world!";
deleteChar(str, 'l');
printf("%s\n", str); // 输出 "heo, word!"
return 0;
}
```
方法二:使用字符指针作为函数参数
```c
void deleteChar(char *str, char ch) {
char *p = str;
while(*str != '\0') {
if(*str != ch) {
*p++ = *str;
}
str++;
}
*p = '\0';
}
```
使用方法:
```c
int main() {
char str[] = "hello, world!";
deleteChar(str, 'l');
printf("%s\n", str); // 输出 "heo, word!"
return 0;
}
```
两种方法本质上是一样的,只是参数的类型不同,使用时需要注意。
阅读全文