本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。用c语言
时间: 2024-05-09 12:14:55 浏览: 12
可以使用指针和循环来实现该函数,具体代码如下:
```c
#include <stdio.h>
void printBetweenChars(char* str, char c1, char c2)
{
char* p1 = NULL;
char* p2 = NULL;
char* p = str;
while (*p != '\0') {
if (*p == c1) {
p1 = p;
} else if (*p == c2) {
p2 = p;
break;
}
p++;
}
if (p1 != NULL && p2 != NULL) {
p = p1 + 1;
while (p != p2) {
printf("%c", *p);
p++;
}
}
}
int main()
{
char str[] = "This is a test string.";
char c1 = 'a';
char c2 = 's';
printBetweenChars(str, c1, c2);
return 0;
}
```
在上述代码中,首先使用指针p遍历字符串str,查找第一个字符c1和第二个字符c2出现的位置,分别用指针p1和指针p2记录下来。然后,如果找到了这两个字符,就使用指针p从p1+1开始循环遍历到p2-1处,输出其中的字符。最终的输出结果是" is a test "。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)