写一个程序包括2个函数main和f: main:定义二维字符数组,输入字符串到第0行,将二维数组的首地址和指定字符作为f函数的实参,调用f函数,并输出第1行。 f:删除二维数组的第0行中的指定字符,并将结果存入二维数组的第1行。 f函数的原型: void f(char (*p)[20], char c) 测试用例:1) 输入:“ *he*l**lo*”,'*', 输出:“ hello”; 2) 输入:“ $I d$o$” , '$',输出:“ I do”;
时间: 2023-02-05 17:31:13 浏览: 42
以下是满足题目要求的 C 语言程序:
#include <stdio.h>
// 函数原型
void f(char (*p)[20], char c);
int main() {
// 定义二维字符数组
char arr[2][20];
// 输入字符串到第 0 行
printf("请输入一个字符串:");
scanf("%s", arr[0]);
// 将二维数组的首地址和指定字符作为 f 函数的实参,调用 f 函数
printf("请输入要删除的字符:");
char c;
scanf(" %c", &c); // 注意前面的空格,用来消耗回车符
f(arr, c);
// 输出第 1 行
printf("删除后的字符串为:%s\n", arr[1]);
return 0;
}
// 删除二维数组的第 0 行中的指定字符,并将结果存入二维数组的第 1 行
void f(char (*p)[20], char c) {
// 定义变量 j 用来记录当前字符在第 1 行中的位置
int j = 0;
for (int i = 0; (*p)[i] != '\0'; i++) {
if ((*p)[i] != c) { // 如果当前字符不是指定字符
// 将当前字符存入第 1 行
p[1][j] = (*p)[i];
j++; // j 加 1
}
}
// 在第 1 行末尾添加字符串结束符
p[1][j] = '\0';
}
测试用例:
输入:"*he*l**lo*",*,输出:"hello";
输入:"$I d$o
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)