写一个程序包括2个函数main和f: main:定义二维字符数组,输入字符串到第0行,将二维数组的首地址和指定字符作为f函数的实参,调用f函数,并输出第1行。 f:删除二维数组的第0行中的指定字符,并将结果存入二维数组的第1行。
时间: 2024-05-06 21:21:18 浏览: 129
数组的应用-c语言 指针
以下是一个可以满足题目要求的 C 语言程序:
```
#include <stdio.h>
#include <string.h>
void f(char (*arr)[100], char c) {
int i, j;
for (i = 0, j = 0; i < strlen(arr[0]); i++) {
if (arr[0][i] != c) {
arr[1][j++] = arr[0][i];
}
}
arr[1][j] = '\0';
}
int main() {
char arr[2][100];
char c;
printf("请输入字符串:");
scanf("%s", arr[0]);
printf("请输入要删除的字符:");
getchar();
c = getchar();
f(arr, c);
printf("删除后的字符串为:%s\n", arr[1]);
return 0;
}
```
这个程序包含了两个函数:
- `main` 函数:定义了一个二维字符数组,输入一个字符串到第 0 行,并调用函数 `f` 将二维数组的首地址和要删除的字符作为参数传入,最后输出第 1 行。
- `f` 函数:删除二维数组的第 0 行中的指定字符,并将结果存入二维数组的第 1 行。
在函数 `f` 中,我们用两个变量 `i` 和 `j` 分别指向二维数组的第 0 行和第 1 行,遍历二维数组的第 0 行的每一个字符,如果这个字符不是要删除的字符,就将它复制到第 1 行的对应位置。最后在第 1 行的末尾加
阅读全文